Что вы знаете про BroadcastReceiver?
Android приложения могут получать различные сообщения от самой системы, а также от других приложений и от других компонентов данного приложения. Эти сообщения называются broadcast (широковещательные сообщения). Например, система рассылает данные сообщения когда запускается или когда устройство подключается к зарядке.
Для получения и обработки данных сообщений используются BroadcastReceiver. Броадкасты оборачиваются в объект Intent, в котором указывается тип данного броадкаста. У ресиверов же есть IntentFilter, в котором они указывают, какой тип броадкастов они хотят получать. Когда броадкаст был отправлен, система сама рассылает его всем ресиверам, которые были подписаны на данный тип броадкастов. Не стоит злоупотреблять возможностью получать различные сообщения, указывайте только тот тип броадкастов, который необходим, иначе это может сказаться на производительности.
Если ресивер получает броадкаст, а приложение, в котором он объявлен не запущено, то система запускает данное приложение и вызывает метод onReceive() ресивера. Именно в этом методе и необходимо обработать данный броадкаст.
Проверьте себя после изучения темы
Бесплатный бот с тестами и практическими заданиями по Kotlin.
- 22 бесплатных урока
- Тесты к каждому уроку (всего 220 вопросов)
- Задачи в рамках практики KotlinSprint (120 задач) и курсовой проект «Телеграм бот для изучения иностранных слов»