I was wondering is it possible to register a broadcast receiver to receive two intents?
My code is as follows:
sipRegistrationListener = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (SIPEngine.SIP_REGISTERED_INTENT.equals(action)){
Log.d("SETTINGS ", "Got REGISTERED action");
}
if (SIPEngine.SIP_UNREGISTERED_INTENT.equals(action)){
Log.d("SETTINGS ", "Got UNREGISTERED action");
}
}
};
context.registerReceiver(sipRegistrationListener, new IntentFilter(SIPEngine.SIP_REGISTERED_INTENT));
context.registerReceiver(sipRegistrationListener, new IntentFilter(SIPEngine.SIP_UNREGISTERED_INTENT));
I get the REGISTERED Intent everytime I send it but I never get the UNREGISTERED Intent when I send it.
Should I set up another Broadcast receiver for the UNREGISTERED Intent?
A BroadcastReceiver can be registered in two ways. By defining it in the AndroidManifest. xml file as shown below.
If the receiving class is not registered using in its manifest, you can dynamically instantiate and register a receiver by calling Context. registerReceiver(). Take a look at registerReceiver (BroadcastReceiver receiver, IntentFilter filter) for more info.
There are two ways to make a broadcast receiver known to the system: One is declare it in the manifest file with this element. The other is to create the receiver dynamically in code and register it with the Context. registerReceiver() method.
Don't create your IntentFilter
inline, then use the addAction
method to add the UNREGISTERED
action, i.e.:
IntentFilter filter = new IntentFilter(SIPEngine.SIP_REGISTERED_INTENT);
filter.addAction(SIPEngine.SIP_UNREGISTERED_INTENT);
context.registerReceiver(sipRegistrationListener, filter);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With