Question

Je me demandais est-il possible d'enregistrer un récepteur de radiodiffusion pour recevoir deux intentions?

Mon code est le suivant:

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));

Je reçois ENREGISTRÉS intention chaque fois que je l'envoie mais je reçois jamais été l'intention UNREGISTERED quand je l'envoie.

Dois-je mettre en place un autre récepteur de diffusion pour l'intention UNREGISTERED?

Était-ce utile?

La solution

Ne pas créer votre ligne de IntentFilter, puis utilisez la balise addAction méthode pour ajouter l'action UNREGISTERED, à savoir:

IntentFilter filter = new IntentFilter(SIPEngine.SIP_REGISTERED_INTENT);
filter.addAction(SIPEngine.SIP_UNREGISTERED_INTENT);
context.registerReceiver(sipRegistrationListener, filter);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top