0

我制作了一些程序,它从手机中删除不需要的短信(通过特殊过滤器)。

它使用 aborBroadcast() 来停止 SMS。

在模拟器中,它也可以在某些手机上运行(我用 Android 2.2 测试过)。

但在某些手机(三星,2.3.3)中,它不会停止 SMS。删除我的程序后,手机再次收到所有短信,但已中止。

我的 android.manifest 代码:

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

我的处理程序代码:

if msgText.contains(GlobalVars.getInstance().getFilterText())) {
    abortBroadcast();
}

也许,有人可以建议我吗?

4

1 回答 1

2

有两种类型的广播,有序和无序。据我所知,SMS 是一种无序广播,这就是为什么你不能真正中止它的原因。

http://developer.android.com/reference/android/content/BroadcastReceiver.html#Security

我不确定您何时说它适用于某些设备。理想情况下,它不应该用于接收到的 SMS 广播。

于 2012-05-22T16:25:47.897 回答