darthvading
darthvading

Reputation: 949

Intent filter with different actions

What is the difference between the following BroadcastReceivers:

  1. ReceiverA with one intent filter, with two actions

    <receiver android:name="com.example.somepackage.ReceiverA">
        <intent-filter>
            <action android:name="com.example.somepackage.intent.actionA"/>
            <action android:name="com.example.somepackage.intent.actionB"/>
        </intent-filter>
    </receiver>
    
  2. ReceiverB with two intent filters, with one action each

    <receiver android:name="com.example.somepackage.ReceiverB">
        <intent-filter>
            <action android:name="com.example.somepackage.intent.actionA"/>
        </intent-filter>
        <intent-filter>
            <action android:name="com.example.somepackage.intent.actionB"/>
        </intent-filter>
    </receiver>
    

How will ReceiverA and ReceiverB be different in functionality from each other, regarding these actionA and actionB?

Upvotes: 1

Views: 73

Answers (1)

shkschneider
shkschneider

Reputation: 18243

AFAIK in functionality, they both do the same: they are registered as listening to actionA and actionB.

ReceiverA is like:

 IntentFilter intentFilter = new IntentFilter();
 intentFilter.addAction(actionA);
 intentFilter.addAction(actionB);
 registerReceiver(ReceiverA, intentFilter);

ReceiverB is like:

registerReceiver(ReceiverB, intentFilterActionA);
registerReceiver(ReceiverB, intentFilterActionB);

Upvotes: 1

Related Questions