我已经开始在我的应用程序中使用自定义意图,但遇到了一些问题。
当我发送自定义意图时,我注册了一个广播接收器,并且我捕捉到了这个意图没有问题。
但是,当我再次发送意图时似乎出现了问题,广播接收器似乎注册了意图的两个事件,依此类推,所以如果第三次发送意图,我会收到 3 次。
这在我的应用程序中造成了重大问题,想知道这是否正常,有什么方法可以解决吗?
这是我的代码:
发送意图:
Intent i = new Intent();
i.setAction(SIP_INCOMING_CALL_CANCEL_INTENT);
sendBroadcast(i);
要接收 Intent:
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);
有没有办法确保 Intent 只被触发一次?