private void sendSMS(String phoneNumber, String message)
{
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
new Intent(SENT), 0);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);
//---when the SMS has been sent---
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS sent",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(getBaseContext(), "Generic failure",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(getBaseContext(), "No service",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(getBaseContext(), "Null PDU",
Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(getBaseContext(), "Radio off",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(SENT));
//---when the SMS has been delivered---
registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode())
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS delivered",
Toast.LENGTH_SHORT).show();
break;
case Activity.RESULT_CANCELED:
Toast.makeText(getBaseContext(), "SMS not delivered",
Toast.LENGTH_SHORT).show();
break;
}
}
}, new IntentFilter(DELIVERED));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}
안드로이드 SMS 문자 전송 클래스 예제
SEND_SMS 퍼미션을 추가해 주어야 사용이 가능하다.
SMS delevered 와 SMS not delevered 메세지는 에뮬레이터상에서는 보이지 않으며 실제 기기에서만 표시된다.
sentPI 와 deliveredPI 는 메세지의 전송 상태를 보기 위해 등록된 것이기 떄문에 동작결과에 따른 행동은 맞게 편집을 해주자.
이 부분은 빼고 아래와 같이 작성하여도 SMS 전송은 가능하다.
private void sendSMS(String phoneNumber, String message)
{
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);
}
출처 : http://yobin.egloos.com/2870783
'안드로이드' 카테고리의 다른 글
<activity-alias> (0) | 2011.01.28 |
---|---|
SMS 한글 깨지는 문제 (0) | 2011.01.28 |
KeyBoard 보이거나 숨기기 (0) | 2011.01.28 |
Eclipse에서 android Full Source 연결해서 개발환경 만들기 (0) | 2011.01.28 |
구글 Power Manager 정리 PPT 자료 (0) | 2011.01.27 |