收到消息后在手机号码onReceive() not working。请帮我找到解决这个问题。 这是我的代码,请检查并纠正我,如果我错了。接收器在广播中不工作而收到短信
public class IncomingSms extends BroadcastReceiver {
Context con;
@Override
public void onReceive(Context context, Intent intent) {
this.con = context;
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))
{
Log.e("IncomingSms", "onReceive..");
final Bundle bundle = intent.getExtras();
try {
if (bundle != null) {
for (String key : bundle.keySet())
Log.e("okkk", key + "// " + bundle.getString(key));
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("TA-DOCOMO")) {
CodeVerificationActivity Sms = new CodeVerificationActivity();
Sms.recivedSms(message);
}
} catch (Exception e) {
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
这是我的清单文件的代码,used.please告诉我正确的方式,如果我错过了代码,然后正确me.Actually东西,我是做机器人自动读取传入消息来验证OTP。这对我来说非常重要。在此先感谢
<receiver android:name=".Util.IncomingSms"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
哪里是你的活动类,你在哪里称这个 – Nitesh
@Override 保护无效onStart(){ super.onStart(); 尝试registerReceiver(new IncomingSms(),new IntentFilter(“android.provider.Telephony.SMS_RECEIVED”)); (例外e){ e.printStackTrace(); } } – Umesh