首先,我已经搜索了可能的解决方案,尝试了一切,但仍然无效.我肯定错过了什么.
我正在尝试创建一个接收/读取和写入SMS的应用程序.
写部分工作正常,我的广播接收器只是没有捕捉广播.
AndroidManifest.xml中
...
android:permission="android.permission.BROADCAST_SMS">
SmsReceiver.java
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "ON RECEIVE BROADCAST", Toast.LENGTH_LONG).show();
Log.d("ON ","RECEIVE");
Bundle bundle = intent.getExtras();
Object[] messages = (Object[]) bundle.get("pdus");
SmsMessage[] sms = new SmsMessage[messages.length];
// Create messages for each incoming PDU
for (int n = 0; n < messages.length; n++) {
sms[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
for (SmsMessage msg : sms) {
Log.e("RECEIVED MSG",":"+msg.getMessageBody());
// Verify if the message came from our known sender
}
}
没有触发Logs或Toast.
尝试将清单上的操作更改为android.intent.action.AIRPLANE_MODE只是为了测试声明并收到广播,这对于SMS不起作用.
更新
尝试使用不同的手机,但它确实有效.一定是因为我使用的是Handcent短信,还有一些如何阻止广播.无论哪种方式,我需要它独立于安装的应用程序在每个手机上工作.
如果觉得《android无法接收短信广播 android – 广播接收器不适用于短信》对你有帮助,请点赞、收藏,并留下你的观点哦!