iOS를 사랑하는 AOS 개발자
[Android/Kotlin] 안드로이드 앱 내에서 문자보내기 본문
반응형
SMALL
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻
안녕하세요! 🙋🏻♀️
앱 내에서 문자보내는 기능을 해볼거에요!
JAVA 버전이 궁금하다면?
2021.12.17 - [Android ( JAVA )/개발] - [Android] 안드로이드 앱 내에서 문자보내기
[Android] 안드로이드 앱 내에서 문자보내기
👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻 [Android] 안드로이드 앱 내에서 전화걸기 👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는
devziner.tistory.com
View 를 그리기 전에 권한을 추가해주어야 합니다.
AndroidManifest.xml 에 추가해줍니다.
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
권한을 추가해주었다면 이제 View를 그려주러갑니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:padding="20dp">
<EditText
android:id="@+id/et_num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="번호를 입력하세요. (' - ' 생략, 숫자만)"/>
<Button
android:id="@+id/btn_send"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="문자보내기"
android:layout_marginRight="10dp"
/>
</LinearLayout>
이제 다 준비 되었습니다.
코드를 구현하러 가봅시다!
반응형
package com.ioad.blog_call
import android.Manifest
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity() {
lateinit var etNum: EditText
lateinit var btnSend: Button
val SEND_REQUEST_CODE = 1;
var telNum: String = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
etNum = findViewById(R.id.et_num)
btnSend = findViewById(R.id.btn_send)
btnSend.setOnClickListener {
telNum = etNum.text.toString()
val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS)
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.SEND_SMS)) {
Toast.makeText(this, "권한이 필요합니다", Toast.LENGTH_SHORT).show()
}
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.SEND_SMS), SEND_REQUEST_CODE)
} else {
val intent = Intent(Intent.ACTION_SENDTO)
intent.data = Uri.parse("smsto:${telNum}") // 문자 보낼 번호
intent.putExtra("sms_body", "Hello World") // 문자의 내용
startActivity(intent)
}
}
}
}
Java 버전과는 좀??? 다르게??? 는 아니고 코드가 한 줄 더 추가되었는데요
바로그건
intent.putExtra("sms_body", "Hello World") // 문자의 내용
이 부분입니다.
key 값은 "sms_body"로 지정하고 value 값은 아무거나 원하시는걸 넣으면
문자 앱이 켜지며 value 값이 자동적으로 메세지 입력칸에 추가가 됩니다.
실제로 구현해보시는게 가장 이해가 빠를테니 꼭 구현해보세요 :)
틀린부분이 있거나, 궁금하신게 있거나, 그냥 아무말이나 하고싶으면 댓글 남겨주세요 🥴
봐주셔서 감사합니다 🥰
반응형
LIST
'Android ( Kotlin ) > 개발' 카테고리의 다른 글
[Android/Kotlin] View.getVisibility 값 확인 (0) | 2023.05.07 |
---|---|
[Android/Kotlin] RadioButton 간단 사용법(feat. strings.xml) (0) | 2022.11.26 |
[Android/Kotlin] CheckBox 간단 사용법 (0) | 2022.11.26 |
[Android/Kotlin] 안드로이드 앱 내에서 전화걸기 (0) | 2022.11.20 |
Comments