Wednesday, September 17, 2014

Android SMS 받기 예제

manifest에 다음과 같은 퍼미션 추가
    <uses-permission android:name="android.permission.RECEIVE_SMS" />


다음과 같이 resume에서 SMS 받기를 등록하고, pause에서 SMS 받기를 해제한다.
 protected void onResume() {
  super.onResume();
  registerReceiver(mReceiverBR, new IntentFilter("android.provider.Telephony.SMS_RECEIVED"));
 }

 protected void onPause() {
  super.onPause();
  unregisterReceiver(mReceiverBR);
 }

 BroadcastReceiver mReceiverBR = new BroadcastReceiver() {
  public void onReceive(Context context, Intent intent) {
   String result = "";
   Bundle bundle = intent.getExtras();
   if (bundle != null) {
    Object[] pdus = (Object[]) bundle.get("pdus");
    for (int i = 0; i < pdus.length; i++) {
     SmsMessage msg = SmsMessage.createFromPdu((byte[]) pdus[i]);
     result += "from " + msg.getOriginatingAddress() + " => " + msg.getMessageBody() + "\n";
    }
    mResult.setText("메시지 : " + result);
   }
  }

 };

No comments:

Post a Comment