Sobes.tech
Назад к вопросам
Junior — Middle
70

Можете объяснить, что такое компонент BroadcastReceiver и как он работает в Android?

Компании, где спрашивали
СБЕРСБЕР
NetUP

Ответ от нейросети

sobes.tech AI

BroadcastReceiver — это компонент Android, который позволяет приложению получать и реагировать на широковещательные сообщения (broadcasts) от системы или других приложений.

Как работает BroadcastReceiver:

  • Он регистрируется на определённые события (например, подключение к сети, получение SMS, загрузка устройства).
  • Когда происходит событие, система отправляет соответствующий broadcast.
  • Зарегистрированные BroadcastReceiver получают этот broadcast и выполняют заданный код.

BroadcastReceiver обычно используется для:

  • Реагирования на системные события без постоянного запуска приложения.
  • Запуска фоновых задач по расписанию или при наступлении условий.

Пример простого BroadcastReceiver, который реагирует на включение устройства:

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            // Действия после загрузки устройства
        }
    }
}

Для регистрации можно использовать манифест или динамически в коде. Важно помнить, что с Android 8.0 (Oreo) есть ограничения на фоновую работу BroadcastReceiver, и для некоторых событий требуется использовать другие механизмы, например, JobScheduler.