这就是我如何设置我的应用程序意图过滤器highest.After接收意图附加的优先级,因为我中止了广播,但本机应用程序仍然在接收短信,通知栏仍然显示最烦人的消息内容,因为我不希望它显示消息正文。我是不是漏掉了什么?
<receiver android:name=".MySmsReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"
android:priority="999"
/>
</intent-filter>
</receiver>这是我的接收器的onReceive()方法
public void onReceive(final Context context, Intent intent) {
Bundle extras = intent.getExtras();
abortBroadcast();
....
}发布于 2012-12-18 15:19:16
试着这样声明你的接收者:
<receiver android:name=".MySmsReceiver">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>而不是:
<receiver android:name=".MySmsReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"
android:priority="999"
/>
</intent-filter>
</receiver>在中止广播之前,还要尝试检查以下条件:
编辑:
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SMS_RECEIVED)) {
Bundle extras = intent.getExtras();
if(extras != null)
// doBroadcast();
else
abortBroadcast();
}
}希望能对你有所帮助。
谢谢。
https://stackoverflow.com/questions/13927977
复制相似问题