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