본문 바로가기
프로그래밍

[안드로이드] SMS 전송하기

by A&co 2019. 7. 9.

먼저 AndroidManifest.xml 파일에 권한을 추가해 준다.

간단하게 sms 보내기만 구현 할꺼면 3개의 권한을 다 줄 필요는 없다.

<uses-permission android:name="android.permission.SEND_SMS" />

SEND_SMS 권한만 필요로 한다.

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

SmsManager AP를 통해 쉽게 메세지를 전송 할 수 있다.

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);

MainActivity class 부분을 간단하게 만들어 보았다.

먼제 텍스트로 받은 전화번호와 메시지 내용을 받아 번튼을 클릭하면 문자가 전송되는 간단한 소스이다.

 

public class MainActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText num = (EditText) findViewById(R.id.editText);
        final EditText mass = (EditText) findViewById(R.id.editText2);
        Button button = (Button)findViewById(R.id.button);


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String inputText = num.getText().toString();
                String inputText2 = mass.getText().toString();
                if(inputText.length()>0 && inputText2.length()>0) {
                    sendSMS(inputText, inputText2); Toast.makeText(getBaseContext(), inputText+"\n"+inputText2, Toast.LENGTH_SHORT).show();

                }
                else
                    Toast.makeText(getBaseContext(), "전화번호와 메시지를 입력해주세요.", Toast.LENGTH_SHORT).show();
            }});

    }

    private void sendSMS(String phoneNumber, String message)
    {

        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, null, null);
    }
}

<연관글>

[안드로이드] SMS 수신하기