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