0

不要な SMS を電話から (特別なフィルターで) 削除するプログラムを作成します。

aborBroadcast() meted を使用して SMS を停止します。

エミュレーターでは、一部の携帯電話 (Android 2.2 でテスト済み) でも問題なく動作します。

ただし、一部の電話 (Samsung、2.3.3) では SMS が停止しません。そして、私のプログラムが削除された後、モバイルは中止されたすべての 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

ブロードキャストには、順序付きと順序なしの 2 種類があります。私の知る限り、SMS は順不同のブロードキャストであり、そのため、実際に中止することはできません。

http://developer.android.com/reference/android/content/BroadcastReceiver.html#セキュリティ

一部のデバイスで動作するといつ言ったのかわかりません。理想的には、SMS 受信ブロードキャストに対してはそうすべきではありません。

于 2012-05-22T16:25:47.897 に答える