我试图在收到这样的短信时不传播短信
public class SMSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
abortBroadcast();
setResultData(null);
}
}
的AndroidManifest.xml
<receiver android:name=".SMSReceiver" android:enabled="true" android:priority = "100" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
但这不起作用。我一直在寻找解决方案。任何帮助都非常感谢。
由于
答案 0 :(得分:6)
您需要在android:priority
上设置<intent-filter>
属性,而不是<receiver>
。
e.g
<intent-filter android:priority="9999" >
仅在您确实需要强制执行特定订单时才使用此属性 收到广播,或者想强制Android播放 比其他人更喜欢一项活动。该值必须是整数,例如 “100”。数字越大,优先级越高。 (该订单仅适用 同步消息;它被异步消息忽略了。)
http://developer.android.com/guide/topics/manifest/intent-filter-element.html
答案 1 :(得分:0)
由于我无法在@ Christopher Orr的答案中添加评论,因此必须指出优先级必须介于[-1000,1000]之间。 9999太多了。
值必须是整数,例如&#34; 100&#34;。更高的数字有一个 优先级更高。默认值为0.值必须更大 比-1000还不到1000。
http://developer.android.com/guide/topics/manifest/intent-filter-element.html