Question

J'ai commencé à utiliser des intentions personnalisées dans ma demande et je suis venu dans un peu d'un problème.

Quand j'envoie une intention personnalisée j'enregistrer un récepteur de radiodiffusion et je surprends l'intention aucun problème.

Cependant, des problèmes semblent apparaître quand j'envoie l'intention encore, la diffusion Reciever semble enregistrer deux événements de l'intention et ainsi de suite si l'intention est envoyé une troisième fois que je reçois 3 fois.

est à l'origine des problèmes majeurs dans ma demande et je me demandais est-il normal et il y a une certaine façon, je dois y faire face?

Voici mon code:


Pour envoyer l'intention:

Intent i = new Intent();
i.setAction(SIP_INCOMING_CALL_CANCEL_INTENT);
sendBroadcast(i);

Pour recevoir l'intention:

sipIncomingListener = new BroadcastReceiver(){

   @Override
   public void onReceive(Context context, Intent intent) {
      String action = intent.getAction(); 

      if(CallDialogActivity.SIP_INCOMING_CALL_ANSWER_INTENT.equals(action)){
         Log.d("SIPENGINE", "CALL CONNECTED SENT FROM INITINCOMINGLISTENER()");
      }  
   };

IntentFilter filter = new IntentFilter(CallDialogActivity.SIP_INCOMING_CALL_CANCEL_INTENT);
registerReceiver(sipIncomingListener, filter);

Y at-il quand même pour vous assurer que l'intention est seulement tiré une fois ??

Était-ce utile?

La solution

Je ne sais pas, pourquoi vous avez ce problème, mais êtes-vous sûr que vous avez besoin d'une diffusion (récepteur) pour gérer les intentions? Pouvez-vous expliquer s'il vous plaît, pourquoi faites-vous cela?

Retour à votre problème: vous pouvez fournir un simple projet minimaliste? Je pense que la question n'est pas dans le code que vous avez fourni.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top