Один важный момент, о котором люди забывают упомянуть, это время жизни Broadcast Receiver
.Отличие программной регистрации от регистрации в AndroidManifest.xml заключается в том, что.В файле манифеста это не зависит от времени жизни приложения.Хотя при программной регистрации это зависит от времени жизни приложения.Это означает, что если вы зарегистрируетесь в AndroidManifest.xml , вы можете перехватить переданные намерения, даже если ваше приложение не запущено.
Редактировать: Упомянутое примечание - нетдольше, чем в Android 3.1, система Android по умолчанию исключает все получатели из намерений получения, если соответствующее приложение никогда не запускалось пользователем или если пользователь явно остановил приложение через меню Android (в меню «Управление» → «Приложение»).https://developer.android.com/about/versions/android-3.1.html
Это дополнительная функция безопасности, поскольку пользователь может быть уверен, что только приложения, которые он запустил, будут получать намерения вещания.
Таким образом, его можно понимать как приемники, программно зарегистрированные в Приложениях onCreate()
будет иметь тот же эффект, что и в AndroidManifest.xml от Android 3.1 и выше.