Назад к вопросам
СБЕР
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.