Para evitar spam de anúncios e phishing de credenciais, no Android 14 e versões mais recentes,
o USE_FULL_SCREEN_INTENT
padrão
a permissão para enviar notificações em tela cheia só pode ser concedida a apps que
fornecem funcionalidades de chamada e alarme.
Para todos os apps instalados no Android 14, a
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) dos apps que não têm
funcionalidades de chamada ou alarme.
Para apps instalados em smartphones com versões anteriores ao Android 13,
USE_FULL_SCREEN_INTENT
permanece ativada por padrão.
Permissão do usuário
Com o Android 14, os apps podem usar o NotificationManager#canUseFullScreenIntent()
para verificar se eles podem enviar notificações em tela cheia. Para obter a 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 de tela cheia, como mostrado na Figura 1:
Figura 1. Interface para permitir que apps enviem intents de tela cheia.
A configuração Gerenciar intents de tela cheia está no menu Configurações em Acesso especial para 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 pela
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 iniciais de concessão de FSI
permissões para seus aplicativos usando
PackageInstaller.SessionParams
,
especificamente com PERMISSION_STATE_DEFAULT
, PERMISSION_STATE_DENIED
e PERMISSION_STATE_GRANTED
parâmetros.
Validação
Use o teste do verificador do CTS no NotificationFullScreenIntentVerifierActivity.java
.
e o teste CTS em NotificationManagerTest.java
para validar os limites de serviços financeiros.
Testes manuais
Siga estas etapas para testar manualmente os limites de FSI no seu app:
- Declarar
USE_FULL_SCREEN_INTENT
no arquivoAndroidManifest.xml
do app. - Usar
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
gerenciar as configurações para ativar ou desativar o FSI. - No smartphone de teste, ative manualmente a permissão do usuário para tela cheia como mostrado na Figura 1.
- Envie uma notificação sobre serviços financeiros.
- Validar a aparência da notificação em tela cheia para os seguintes itens combinações de permissão do FSI e modos de exibição:
Permissão de serviços financeiros | Tela desbloqueada | Tela de bloqueio | Fora da tela | Tela sempre ativada (AOD) |
Concedido pelo usuário | Notificação de alerta persistente (HUN, na sigla em inglês) com botões em forma de pílula | Iniciar FSI | Iniciar FSI | Iniciar FSI |
Negado pelo usuário | HUN com botões de pílula por 60 segundos | HUN com botões em pílula aparece primeiro na lista por 60 segundos | 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 |