Para evitar spam de anúncios e phishing de credenciais, no Android 14 e versões mais recentes,
a permissão USE_FULL_SCREEN_INTENT
padrão para enviar notificações em tela cheia pode ser concedida apenas para apps que
ofereçam funcionalidades de chamada e alarme.
Para todos os apps instalados no Android 14, a permissão
USE_FULL_SCREEN_INTENT
é ativada por padrão. Após a instalação, a Google Play Store
revoga a permissão de intent para tela cheia (FSI) de apps que não têm
funcionalidades de chamada ou alarme.
Para apps instalados em smartphones com versões
Android 13 ou anteriores, a permissão
USE_FULL_SCREEN_INTENT
permanece ativada por padrão.
Permissão do usuário
Com o Android 14, os apps podem usar NotificationManager#canUseFullScreenIntent()
para verificar se podem enviar notificações em tela cheia. Para receber permissão do usuário para
enviar notificações em tela cheia, os apps usam ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
para iniciar a configuração Gerenciar intents em tela cheia, conforme mostrado na Figura 1:
Figura 1. Interface para permitir que os apps enviem intents em tela cheia.
A configuração Gerenciar intents em tela cheia está no menu Configurações em Acesso especial a apps. Com essa interface, os usuários podem revogar essa permissão, se necessário.
Requisitos de OEM
No Android 14, as permissões de FSI para apps são ativadas por
padrão. Os OEMs precisam especificar quais apps se qualificam para as permissões de FSI. Os OEMs precisam
garantir que as app stores de terceiros definam os estados de concessão iniciais das permissões
do FSI para os apps usando
PackageInstaller.SessionParams
,
especificamente com os parâmetros PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
e PERMISSION_STATE_GRANTED
.
Validação
Use o teste do CTS Verifier em NotificationFullScreenIntentVerifierActivity.java
e o teste do CTS em NotificationManagerTest.java
para validar os limites de FSI.
Testes manuais
Siga estas etapas para testar manualmente os limites de FSI no seu app:
- Declare
USE_FULL_SCREEN_INTENT
no arquivoAndroidManifest.xml
do app. - Use
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
para gerenciar as configurações e ativar ou desativar o FSI. - No smartphone de teste, ative ou desative manualmente a permissão do usuário para notificações em tela cheia, conforme mostrado na Figura 1.
- Enviar uma notificação da FSI.
- Valide a aparência da notificação em tela cheia para as seguintes combinações de permissão de FSI e modos de exibição:
Permissão do FSI | Tela desbloqueada | Tela bloqueada | Fora da tela | Tela sempre ativada (AOD) |
Concedido pelo usuário | Notificação de alerta (HUN) persistente com botões de pílula | Iniciar o FSI | Iniciar o FSI | Iniciar o FSI |
Negado pelo usuário | HUN com botões de pílula por 60 segundos | O HUN com botões de pílula aparece primeiro na lista por 60 segundos | O AOD é ativado e mostra o HUN com botões de pílula por 60 segundos. | HUN com botões de pílula por 60 segundos |