在SMS_RECEIVED
文件
AndroidManifest.xml
操作注册广播接收器
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
按预期工作,调用SmsReceiver.onReceive(Context context, Intent intent)
。
试图以动态注册
Intent inte = registerReceiver(
new SmsReceiver(),
new IntentFilter(Telephony.Sms.Intents.SMS_RECEIVED_ACTION));
SmsReceiver.onReceive(Context context, Intent intent)
永远不会被调用。
通知
IntentFilter.setPriority(1000)
但没有成功。registerReceiver
返回 null 我该如何解决?
答案 0 :(得分:3)
我该如何解决?
首先使用正确的Intent
操作。
有两个动作字符串与短信发送有关。什么适用于任何应用程序 - 以及您在<intent-filter>
- is SMS_RECEIVED_ACTION
中使用的内容。仅适用于用户选择的SMS客户端 - 以及您尝试使用IntentFilter
- is SMS_DELIVER_ACTION
的内容。这些都不一样。