Попытка получить широковещательный приемник без фильтра - PullRequest
4 голосов
/ 14 января 2012
IntentFilter intentFilter = new IntentFilter("test");
registerReceiver(mReceiver, intentFilter);

Я бы хотел, чтобы у меня не было фильтра, подобного registerReceiver(mReceiver, null), но в результате этого мое приложение зависало. Могу ли я иметь new IntentFiler() в качестве пустого файла?

1 Ответ

7 голосов
/ 14 января 2012

Поскольку BroadcastReceiver возвращает null, когда нет соответствия по критериям из IntentFilter, с помощью API невозможно выполнить то, что вы надеетесь достичь (что, как я предполагаю, отправляет все и все трансляциина mReceiver).

Вы, конечно, можете указать пустое значение IntentFilter, но это будет довольно бесполезно, поскольку регистрация получателя не приведет к тому, что он перехватит какие-либо трансляции (если они не направлены непосредственно на получателя)., как упомянул MisterSquonk в комментариях).В противном случае вы должны точно знать, какие трансляции вы хотите перехватить с помощью BroadcastReceiver, а затем указать критерии в IntentFilter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...