Для предотвращения рекламного спама и фишинга учетных данных, начиная с 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 и режимов отображения:
разрешение FSI | Разблокированный экран | Заблокированный экран | За пределами экрана | Всегда включенный дисплей (AOD) |
Предоставлено пользователем | Постоянное уведомление (HUN) с кнопками-таблетками | Запуск FSI | Запуск FSI | Запуск FSI |
Отклонено пользователем | HUN с кнопками-таблетками для 60-х | HUN с кнопками таблеток отображается первым в списке на 60 секунд | AOD включается, показывает HUN с кнопками таблеток в течение 60 с. | HUN с кнопками-таблетками для 60-х |