매니페스트
<receiver android:name=".BrodcastReceiverClass ">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
에 방송 수신기
public class BrodcastReceiverClass extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
final Bundle bundle = intent.getExtras();
try {
if (bundle != null) {
final Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String senderNum = phoneNumber;
String message = currentMessage.getDisplayMessageBody();
try {
if (senderNum.equals("MD-DOCOMO")){ //SMS Provider Name
OTPActivity Sms = new OTPActivity();
Sms.recivedSms(message);
}
} catch (Exception e) {
}
}
}
} catch (Exception e) {
}
}
}
등록 BrodcastReceiver 만들기 예를 들어, 활동 이름에 대한 당신의 활동에
전화는 OTPActivity에서 생 코드를 작성하는 것보다 OTPActivity입니다. 매니페스트 읽기 SMS를
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
에서
추가 권한 그래 당신은 그것을 할 수 있습니다. 당신은 SMS 수신 브로드 캐스트 리시버에 등록 할 수 있습니다. 기기에 새로운 SMS가 도착할 때 알림이 전송됩니다. –
왜 작동하는지 의심 스럽습니까? 당신이 그것을하려고하면 당신이 그것을 잘 작동 볼 수 –
예 수, the'BroadcastReceiver'의 내부'onReceive' 때문에하는'매개 변수로 context'있다. 따라서 응용 프로그램을 시작하거나 새로운 서비스를 시작할 수 있습니다. – Vasilisfoo