我已经开始使用定义的意图在我的申请和我遇到了点问题。

当我发送一个自定义的意图注册的广播的接收器和我赶上的意图没有问题。

然而,问题似乎出现的时候我发送的意图再次,广播的接收器似乎注册两个事件的意图并因此在这样如果打算发送的第三个时间我收到它的3倍。

这是造成主要问题在我的应用程序,并想知道它是正常的,并有一些方法,我必须处理它?

这里是我的代码:


发送的意图:

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

接收意图:

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

反正是有确定的意图仅仅是解雇了一次吗?

有帮助吗?

解决方案

我不知道,为什么你有这样的问题,但你确定你需要一个广播(接收器)处理意图?可以请你解释一下,为什么你要那么做?

回到你的问题:你能提供一个简单的简约的项目?我认为问题不是在码你提供的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top