48 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Практическая работа. 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` |
<a id="table1">*Таблица 1. Элементы пользовательского интерфейса*</a>
Рекомендуется использовать Android Studio Dolphin 2021.3.1. В проекте gradle version 7.5, gradle plugin version 7.3.0.
<a id="actions">**Константы Intent.\***</a>
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 минут, после завершения тестирования будет доступна информация об общем числе тестов и числе пройденных тестов. Количество посылок в систему не ограничено. Штраф за повторные попытки не начисляется.
| № | Тест | Балл | Проверка |
| - | :-------: | :--: | -- |
| 113 | `Intent.ACTION_*` | 13 | Обработка широковещательных намерений |
<a id="table2">*Таблица 2. Критерии оценивания и тесты*</a>