Я встретил что-то подобное в AndroidManifest.xml:
<receiver android:name="com.testco.test.TestReceiver"/>
Вышеупомянутый TestReceiver расширяет класс BroadcastReceiver. Я думал, что получатель получит все намерения, но, по-видимому, это не так, и это не сработает, если я не добавлю в него теги фильтра намерения. Итак, что он делает, если у него нет фильтра намерения? Это опечатка или она действительно что-то делает?
UPDATE: я понял это с помощью этой ссылки Попытка иметь широковещательный приемник без фильтра
Вместо вызова широковещательной передачи с обычным идентификатором String вы можете установить строку действия в намерение, а затем передать ее. Пример кода для справки:
Intent notifyIntent = new Intent(getApplicationContext(), TestReceiver.class);
notifyIntent.setAction("RECEIVE");
sendBroadcast(notifyIntent);
Обработка в BroadcastReceiver одинакова.