默默地在Android上播放短信?

时间:2011-11-16 18:09:32

标签: android sms

我想知道如何根据自定义标准(内容或发件人等)“消费”Android设备收到的某些短信。为此,我注册了BroadcastReceiver的子类,这很好,因为它确实收到了SMS消息。但邮件也被发送到“标准”SMS商店。

有人知道是否有可能“消费”这条消息?也就是说,将其从队列中删除,并确保“标准”SMS处理程序没有收到它?

1 个答案:

答案 0 :(得分:2)

感谢所有指针。

问题的答案是必须在BroadcastReceiver中使用abortBroadcast(),但最重要的是必须将消息队列转换为优先级队列,否则abortBroadcast()不起作用。幸运的是,可以在清单中执行此操作:

<intent-filter android:priority="1">
    <action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>

注意intent-filter元素中的android:priority="1"属性。