메시지 보내기(Send Msg)
문자를 보내는 기능은 상대로 하여금 다시 한 번 확인을 할 수 있도록 사용됩니다.
보통 결제시스템에서 자주 사용하는 기능이며, 카카오톡이나 SNS 가 없던 향수시절에 문자를 많이사용했던 것 같습니다.
아무튼 안드로이드로 전화할수 있는기능은 저번에 알아보았다. 오늘은 문자를 보내는 기능에 대해서 간단하게 알아보겠습니다.
PendingIntent sentIntent = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
// 문자를 보낸 후에 상태를 확인하는 PendingIntent
PendingIntent deliveredIntent = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
// 문자를 받은 후에 상태를 확인하는 PendingIntent
// PendingIntent 객체는 메시지를 전송 한 후 다른 액티비티를 보여주기 위해서 사용됩니다.
// PendingIntent = Intent + Delegation of authority + Later processing
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentIntent, deliveredIntent);
// 문자를 보낸 후에 상태를 확인하는 PendingIntent
PendingIntent deliveredIntent = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
// 문자를 받은 후에 상태를 확인하는 PendingIntent
// PendingIntent 객체는 메시지를 전송 한 후 다른 액티비티를 보여주기 위해서 사용됩니다.
// PendingIntent = Intent + Delegation of authority + Later processing
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentIntent, deliveredIntent);
메시지 보내기(SendMsg) 을 사용하기 위해서는
manifest에 permission을 지정해야만 합니다.
활용예제
Messenger.class
public class Messenger {
private Context mContext;
public Messenger(Context mContext) {
this.mContext = mContext;
}
public void sendMessageTo(String phoneNum, String message) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNum, null, message, null, null);
Toast.makeText(mContext, "Message transmission is completed.",
Toast.LENGTH_SHORT).show();
}
}
---------------------------------------------------------------------------------------------
manifest에 permission을 지정해야만 합니다.
<manifest>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
</manifest>
활용예제
Messenger.class
public class Messenger {
private Context mContext;
public Messenger(Context mContext) {
this.mContext = mContext;
}
public void sendMessageTo(String phoneNum, String message) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNum, null, message, null, null);
Toast.makeText(mContext, "Message transmission is completed.",
Toast.LENGTH_SHORT).show();
}
}
---------------------------------------------------------------------------------------------
Messenger messenger = new Messenger(getApplicationContext());
messenger.sendMessageTo("01012345678", "This is a test message.");
messenger.sendMessageTo("01012345678", "This is a test message.");
깔끔하게 정리되어 있어서 보기 좋네요. 잘 보고 갑니다.
답글삭제