iOS를 사랑하는 AOS 개발자

[Android] 안드로이드 앱 내에서 문자보내기 본문

Android ( JAVA )/개발

[Android] 안드로이드 앱 내에서 문자보내기

아사안개 2021. 12. 17. 16:37
반응형
SMALL

👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻 

 

 

 

[Android] 안드로이드 앱 내에서 전화걸기

👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻 🌟 스샷은 아이폰 💥 개발은 안드로이드 👈🏻 이렇게 뜨는거 할꺼에요 전화를 걸고 다이얼을 여는건 Androi

devziner.tistory.com

전화걸기를 했으니 이제 문자를 해봐야겠져?

 

❌ 공기계 안돼요!!!! ❌

 

문자도 AndroidManifest에 permission 셋팅을 합니다.

 

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" />

 

메니페스트에 퍼미션을 셋팅했다면 이제 뷰를 그립시다.

 

activity_main.xml

<?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_call"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="문자보내기"
        android:layout_marginRight="10dp"
        />


</LinearLayout>

 

 

뷰를 다 그렸으면 이제 액티비티로 넘어갑니다.

반응형
MainActivity
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    // 변수 선언
    EditText et_num;
    Button btn_send;
    String telNum = "";

    static final int SNS_SEND_PERMISSION = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // xml 과 연결
        et_num = findViewById(R.id.et_num);
        btn_send = findViewById(R.id.btn_send);

        // 클릭 이벤트 설정
        btn_send.setOnClickListener(this);

    }

    @Override
    public void onClick(View view) {
        // 입력번호 저장
        telNum = et_num.getText().toString();

        // 권한 설정 확인
        int permissionCheck = ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.SEND_SMS);
        if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.SEND_SMS)) {
                Toast.makeText(getApplicationContext(), "권한이 필요합니다", Toast.LENGTH_SHORT).show();
            }

            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SEND_SMS}, SNS_SEND_PERMISSION);
        } else {
            Intent intent = new Intent(Intent.ACTION_SENDTO);
            intent.setData(Uri.parse("smsto:" + telNum));
            startActivity(intent);
        }

    }
}

 

SMALL

코드는 끝입니다.

실행 결과는 직접해보세요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

👼🏻 초보 안드로이드 개발자가 매번 구글링하기 싫어서 정리하는 블로그 👼🏻 

반응형
LIST
Comments