# Практическая работа. BroadcastReceiver В данном практическом задании предлагается дополнить существующий проект-заготовку Android приложения. Советуем сначала склонировать шаблон проекта и открыть его в Android Studio или IntelliJ IDEA, так как этот процесс может занимать продолжительное время. Допишите код проекта, чтобы приложение отвечало следующим требованиям: 1. Нестатический метод `makeBroadcastReceiver()`, определённый в классе *MainActivity*, возвращает объект *BroadcastReceiver* 2. Объект *BroadcastReceiver*, возвращаемый методом `makeBroadcastReceiver()`, способен обрабатывать широковещательные намерения `android.intent.action.*` (полный список представлен [ниже](#actions)) 3. При запуске приложения в *TextView* с `id/status_text` может быть установлен произвольный текст. При получении широковещательного сообщения в *TextView* устанавливается текст, соответствующий типу *action* (как на [ниже](#actions)). Например, при получении намерения `Intent.ACTION_ASSIST` в *TextView* должен быть установлен текст «`ACTION_ASSIST`» (без кавычек). | № | View type | id | | - | :-------: | -- | | 0 | *TextView* | `status_text` | *Таблица 1. Элементы пользовательского интерфейса* Рекомендуется использовать Android Studio Dolphin 2021.3.1. В проекте gradle version 7.5, gradle plugin version 7.3.0. **Константы Intent.\*** 1. ACTION\_AIRPLANE\_MODE\_CHANGED 2. ACTION\_APPLICATION\_RESTRICTIONS\_CHANGED 3. ACTION\_APPLICATION\_LOCALE\_CHANGED 4. ACTION\_ASSIST 5. ACTION\_BATTERY\_CHANGED 6. ACTION\_BATTERY\_LOW 7. ACTION\_BATTERY\_OKAY 8. ACTION\_CALL 9. ACTION\_DATE\_CHANGED 10. ACTION\_DEFAULT 11. ACTION\_HEADSET\_PLUG 12. ACTION\_LOCALE\_CHANGED 13. ACTION\_TIME\_TICK Сдать в систему тестирования необходимо zip архив, в корневом каталоге которого располагается дополненный проект Android Studio/IntelliJ IDEA. После загрузки zip архива приложение будет запущено в системе автоматического тестирования для проверки на соответствие техническому заданию. При сборке проекта вcе изменения в файле build.gradle будут проигнорированы – будут использованы зависимости только из шаблона-заготовки; не изменяйте пакет приложения. Тестирование одной посылки может длиться до 3-x минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется. | № | Тест | Балл | Проверка | | - | :-------: | :--: | -- | | 1–13 | `Intent.ACTION_*` | 13 | Обработка широковещательных намерений | *Таблица 2. Критерии оценивания и тесты*