Broadcast Receivers - это компоненты приложения, которые могут работать независимо от действий и служб, поэтому описанный вами вариант использования определенно поддерживается.
Если вы зарегистрируете тег intent-filter
для широковещательных Интентов, которые вы хотите обработать в узле манифеста receiver
, он получит все соответствующие широковещательные Интенты, даже если ваш процесс приложения полностью мертв (нет действий или служб).
В следующем фрагменте показано, как добавить приемник вещания в манифест для прослушивания намерения вещания, независимо от выполняемой операции или службы.
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="com.example.project.MY_BROADCAST_ACTION" />
</intent-filter>
</receiver>
В вашей реализации Broadcast Receiver обработчик onReceive
будет вызываться, когда широковещательное действие, для которого вы указали intent-фильтр, передается.
Примечание. Существуют определенные системные широковещательные рассылки, которые вы не можете захватить таким образом, но, вообще говоря, это подход, который нужно использовать для реагирования на системные события, когда у вас не запущено действие.