В Android 14 и более поздних версиях, чтобы предотвратить показ спам-рекламы и фишинг учетных данных, разрешение USE_FULL_SCREEN_INTENT на отправку полноэкранных уведомлений по умолчанию может быть предоставлено только приложениям с функциями звонков или будильника.
Для всех приложений, устанавливаемых на устройства с Android 14, разрешение USE_FULL_SCREEN_INTENT включено по умолчанию. При установке Google Play отзывает разрешение на полноэкранный интент (FSI) для приложений, в которых нет функций звонков или будильника.
Для приложений, установленных на телефонах с Android 13 или более ранней версией, разрешение USE_FULL_SCREEN_INTENT по умолчанию остается включенным.
Разрешения пользователей
В Android 14 приложения могут использовать NotificationManager#canUseFullScreenIntent(), чтобы проверить, могут ли они отправлять полноэкранные уведомления. Чтобы получить разрешение на отправку полноэкранных уведомлений, приложения используют ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT для запуска настройки Управление полноэкранными уведомлениями, как показано на рисунке 1:
Рисунок 1. Интерфейс для разрешения приложениям отправлять полноэкранные интенты.
Параметр Управление полноэкранными уведомлениями находится в меню Настройки в разделе Специальный доступ. При необходимости пользователи могут отозвать это разрешение.
Требования к OEM-производителям
В Android 14 разрешения на полноэкранные уведомления для приложений включены по умолчанию. Производители оригинального оборудования должны указать, какие приложения соответствуют требованиям для разрешений FSI. Производители устройств должны убедиться, что сторонние магазины приложений задают начальные состояния разрешений FSI для своих приложений с помощью PackageInstaller.SessionParams, в частности с параметрами PERMISSION_STATE_DEFAULT, PERMISSION_STATE_DENIED и PERMISSION_STATE_GRANTED.
Проверка
Используйте тест CTS Verifier в NotificationFullScreenIntentVerifierActivity.java и тест CTS в NotificationManagerTest.java, чтобы проверить ограничения FSI.
Ручное тестирование
Чтобы вручную проверить ограничения на количество запросов к серверу объявлений в секунду, выполните следующие действия:
- Объявите
USE_FULL_SCREEN_INTENTв файлеAndroidManifest.xmlприложения. - Используйте
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT, чтобы включить или отключить FSI. - На тестовом телефоне вручную включите или отключите разрешение для полноэкранных уведомлений, как показано на рисунке 1.
- Отправить уведомление FSI.
- Проверьте, как выглядит полноэкранное уведомление при следующих сочетаниях разрешения для полноэкранных объектов intent и режимов показа:
| Разрешение на показ рекламы финансовых услуг | Разблокированный экран | Заблокированный экран | Отключенный экран | Информация на заблокированном экране |
| Предоставлено пользователем | Постоянное уведомление во время движения с кнопками в виде таблетки | Запустить FSI | Запустить FSI | Запустить FSI |
| Отклонено пользователем | HUN с кнопками для 60 секунд | В списке для 60-секундных видео первым показывается HUN с кнопками-таблетками. | Режим AOD включен, уведомление HUN с кнопками-таблетками показывается в течение 60 секунд | HUN с кнопками для 60 секунд |