Andrey
Andrey

Reputation: 2729

Android abortBroadcast() works strange

I make some program, which removes unwanted SMS from phone (by special filter).

It uses aborBroadcast() meted to stop SMS.

In emulator, it works okay, on some mobile phones (I tested with Android 2.2) too.

But in some phones (Samsung, 2.3.3) it does not stop SMS. And after my program removed, mobile receives ALL sms again, which was aborted.

My android.manifest code:

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

My handler code:

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

Maybe, somebody can advice me?

Upvotes: 0

Views: 2109

Answers (1)

Kumar Bibek
Kumar Bibek

Reputation: 9117

There are two types of broadcasts, ordered and unordered. As far as I know, SMS is an unordered broadcast, and that is why you can't really abort it.

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

I am not sure when you say that it works on some devices. Ideally, it shouldn't for the SMS received broadcast.

Upvotes: 2

Related Questions