0Pricing
Android Academy · Aula

A permissão de notificação em tempo de execução

Solicite permissão para notificações no Android 13 ou posterior.

A permissão de notificação em tempo de execução é uma aula grátis de Android Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Android Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Android Academy inclui 4 aulas no total.

A permissão para notificações

A partir do Android 13 (API 33), os aplicativos precisam solicitar uma permissão em tempo de execução para publicar notificações: POST_NOTIFICATIONS. Sem ela, suas notificações são bloqueadas silenciosamente.

Por que ela foi adicionada

Antes do Android 13, as notificações eram ativadas por padrão, e os usuários precisavam procurar nas Configurações para silenciar aplicativos barulhentos. A permissão em tempo de execução muda isso: agora os usuários precisam aceitar explicitamente, reduzindo o spam.

Declare-a no manifesto

Primeiro, declare a permissão em AndroidManifest.xml. Isso é obrigatório em todas as versões compatíveis, embora a solicitação só apareça na API 33 ou superior.

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

É uma permissão perigosa

POST_NOTIFICATIONS é classificada como uma permissão em tempo de execução (perigosa). Portanto, no Android 13 ou superior, você precisa solicitá-la ao usuário e tratar a resposta dele, assim como faria com a câmera ou a localização.

Comportamento por versão

As diferenças entre versões são importantes:

  • API 33 ou superior: é preciso solicitar em tempo de execução; se for negada, não haverá notificações
  • API 32 ou inferior: as notificações são permitidas por padrão; nenhuma solicitação é necessária

Verifique antes de solicitar

Solicite apenas no Android 13 ou superior e somente se a permissão ainda não tiver sido concedida. Proteja a chamada com uma verificação de versão.

val needsRequest = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU &&
    ContextCompat.checkSelfPermission(
        context, Manifest.permission.POST_NOTIFICATIONS
    ) != PackageManager.PERMISSION_GRANTED

Solicitando no Compose

Use a mesma Activity Result API que você aprendeu para outras permissões: um iniciador com o contrato RequestPermission, iniciado com POST_NOTIFICATIONS.

val launcher = rememberLauncherForActivityResult(
    ActivityResultContracts.RequestPermission()
) { granted ->
    // update UI based on whether notifications are allowed
}

Iniciando a solicitação

Acione a solicitação somente na API 33 ou superior, idealmente quando o usuário fizer algo que se beneficie de notificações, e não simplesmente ao iniciar o aplicativo.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
    launcher.launch(Manifest.permission.POST_NOTIFICATIONS)
}

Solicite no contexto adequado

Como acontece com todas as permissões, solicite-a no contexto adequado. Por exemplo, peça-a depois que o usuário ativar um recurso como lembretes, explicando o benefício, em vez de fazer isso assim que o aplicativo abrir.

Trate a negação com elegância

Se a permissão for negada, não interrompa o funcionamento. Desative os controles que dependem de notificações ou mostre uma indicação de que elas estão desativadas, com um link para as Configurações do sistema caso o usuário queira ativá-las mais tarde.

O SDK de destino aciona a aplicação da regra

O requisito de execução se aplica quando seu aplicativo tem como destino a API 33 ou superior. Se um aplicativo mais antigo for executado no Android 13, o sistema poderá mostrar a solicitação automaticamente na primeira publicação, mas você ainda deverá solicitá-la explicitamente.

Verificação rápida

Teste sua compreensão sobre a permissão de execução para notificações.

Recapitulação

Você tratou da permissão para notificações:

  • O Android 13 ou superior exige a permissão em tempo de execução POST_NOTIFICATIONS
  • Declare-a no manifesto e solicite-a com a Activity Result API
  • Proteja as solicitações com uma verificação de versão e peça a permissão no contexto adequado
  • Quando ela for negada, ofereça uma alternativa adequada

Você concluiu o curso de Notificações.

Perguntas Frequentes

A aula “A permissão de notificação em tempo de execução” é grátis?

Sim — o texto completo de “A permissão de notificação em tempo de execução” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Android Academy, atualize para CoddyKit PRO. O curso de Android Academy inclui 4 aulas no total.

O que vou aprender em “A permissão de notificação em tempo de execução”?

Solicite permissão para notificações no Android 13 ou posterior. Você pratica Android Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Android Academy?

Nenhuma experiência prévia é necessária. Android Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “A permissão de notificação em tempo de execução”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Android Academy?

Sim. Cada aula de Android Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Canais de notificação
  2. Criando uma notificação
  3. Ações e links diretos
  4. A permissão de notificação em tempo de execução
← Voltar para Android Academy