Android – Регистрация приемника вещания для двух целей?
-
22-09-2019 - |
Вопрос
Мне было интересно, можно ли зарегистрировать широковещательный приемник для получения двух намерений?
Мой код выглядит следующим образом:
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));
Я получаю ЗАРЕГИСТРИРОВАННОЕ намерение каждый раз, когда отправляю его, но никогда не получаю НЕЗАРЕГИСТРИРОВАННОЕ намерение, когда отправляю его.
Должен ли я настроить другой приемник широковещательной рассылки для НЕЗАРЕГИСТРИРОВАННОГО намерения?
Решение
Не создавайте свой IntentFilter
встроенный, затем используйте addAction
метод добавления UNREGISTERED
действие, то есть:
IntentFilter filter = new IntentFilter(SIPEngine.SIP_REGISTERED_INTENT);
filter.addAction(SIPEngine.SIP_UNREGISTERED_INTENT);
context.registerReceiver(sipRegistrationListener, filter);
Не связан с StackOverflow