AndroidManifest.xml
(...) <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.RECEIVE_SMS "/> (...)
<receiver android:name=".MyReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> (...)
MyReceiver.java
(import 생략)
public class MyReceiver extends BroadcastReceiver {
private static final String TAG = "SMSReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "onReceive() 호출");
Bundle bundle = intent.getExtras();
SmsMessage[] messages = parseSmsMessage(bundle);
if(messages.length > 0) {
String sender = messages[0].getOriginatingAddress();
Log.d(TAG, "sender : " + sender);
String contents = messages[0].getMessageBody().toString();
Log.d(TAG, "contents : " + contents);
Date receivedDate = new Date(messages[0].getTimestampMillis());
Log.d(TAG, "date : " + receivedDate);
}
}
private SmsMessage[] parseSmsMessage(Bundle bundle) {
Object[] objects = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[objects.length];
for (int i = 0; i < objects.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])objects[i]);
}
return messages;
}
}
이렇게 진행하였는데 Logcat 에 sms 기록이 하나도 기록되지 않네요.
분명 안드로이드 스튜디오 관련 책을 참고하고, 이외 다른 사이트 내용도 참고를 하였는데 전혀 수신이 되질 않습니다.. 무엇이 문제일까요? 봐주시면 감사하겠습니다.