Android - Registering a broadcast receiver for two intents?

20,483

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);
Share:
20,483
Donal Rafferty
Author by

Donal Rafferty

Software Engineer

Updated on July 14, 2020

Comments

  • Donal Rafferty
    Donal Rafferty almost 4 years

    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?