Sobes.tech
Junior — Middle

W jakich przypadkach konieczne jest zadeklarowanie Broadcast Receiver w pliku manifestu aplikacji?

sobes.tech AI

Odpowiedź od AI

Broadcast Receiver необходимо объявлять в манифесте, если вы хотите, чтобы он:

  • Получал системные широковещательные сообщения (broadcasts), которые отправляются системой, например, о загрузке устройства, изменении состояния сети и т.п.
  • Работал, даже если приложение не запущено (то есть приёмник должен быть зарегистрирован статически).

Если же Broadcast Receiver регистрируется динамически в коде (через registerReceiver), то объявлять его в манифесте не нужно, но он будет активен только пока работает соответствующий компонент (например, Activity или Service).

Пример системного события, для которого нужен манифест:

<receiver android:name=".MyReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>