Я начал использовать настраиваемые намерения в своем приложении, и у меня возникла небольшая проблема.
Когда я отправляю настраиваемое намерение, я регистрирую широковещательный приемник и улавливаю намерение без проблем.
Однако при повторной отправке намерения возникают проблемы, кажется, что Broadcast Reciever регистрирует два события намерения и так далее, поэтому, если намерение отправлено в третий раз, я получаю его 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);
Есть ли способ убедиться, что Намерение срабатывает только один раз ??