Limites de intenção de tela cheia

Para evitar spam de anúncios e phishing de credenciais, a partir do Android 14, a permissão padrão USE_FULL_SCREEN_INTENT para enviar notificações em tela inteira pode ser concedida apenas a aplicativos que fornecem funcionalidades de chamada e alarme.

Para todos os aplicativos instalados no Android 14, a permissão USE_FULL_SCREEN_INTENT está habilitada por padrão. Após a instalação, a Google Play Store revoga a permissão de intenção de tela inteira (FSI) para aplicativos que não possuem funcionalidades de chamada ou alarme.

Para aplicativos instalados em telefones com versões anteriores ao Android 13, a permissão USE_FULL_SCREEN_INTENT permanece habilitada por padrão.

Permissão do usuário

Com o Android 14, os aplicativos podem usar NotificationManager#canUseFullScreenIntent() para verificar se podem enviar notificações em tela cheia. Para obter permissão do usuário para enviar notificações em tela inteira, os aplicativos usam ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT para iniciar a configuração Gerenciar intenções de tela inteira, conforme mostrado na Figura 1:

fsi-ui

Figura 1. UI para permitir que aplicativos enviem intenções de tela cheia.

A configuração Gerenciar intenções de tela inteira está no menu Configurações em Acesso especial a aplicativos . Com esta IU, os usuários podem revogar essa permissão, se necessário.

Requisitos OEM

No Android 14, as permissões FSI para aplicativos são habilitadas por padrão. Os OEMs devem especificar quais aplicativos se qualificam para permissões FSI. Os OEMs devem garantir que as lojas de aplicativos de terceiros definam os estados iniciais de concessão de permissões FSI para seus aplicativos usando PackageInstaller.SessionParams , especificamente com os parâmetros PERMISSION_STATE_DEFAULT , PERMISSION_STATE_DENIED e PERMISSION_STATE_GRANTED .

Validação

Use o teste CTS Verifier em NotificationFullScreenIntentVerifierActivity.java e o teste CTS em NotificationManagerTest.java para validar os limites do FSI.

Testes manuais

Siga estas etapas para testar manualmente os limites de FSI em seu aplicativo:

  1. Declare USE_FULL_SCREEN_INTENT no arquivo AndroidManifest.xml do seu aplicativo.
  2. Use ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT para gerenciar as configurações para ativar ou desativar o FSI.
  3. No telefone de teste, alterne manualmente a permissão do usuário para notificações em tela inteira, conforme mostrado na Figura 1.
  4. Envie uma notificação FSI.
  5. Valide a aparência da notificação em tela cheia para as seguintes combinações de permissão FSI e modos de exibição:
Permissão FSI Tela desbloqueada Tela bloqueada Fora da tela Tela sempre ativa (AOD)
Concedido pelo usuário Notificação de alerta persistente (HUN) com botões de pílula Lançar FSI Lançar FSI Lançar FSI
Negado pelo usuário HUN com botões de comprimidos para anos 60 HUN com botões de comprimidos aparece em primeiro lugar na lista dos anos 60 AOD liga, mostra HUN com botões de comprimidos por 60 anos HUN com botões de comprimidos para anos 60