Promoção no ar
Tempo restante da oferta:
04 Horas
52 Min
08 Seg
Assinar →

Implementando uma notificação simples no Android

A notificação é uma forma de informar o usuário sobre eventos do aplicativo. Veja como uma notificação pode ser implementada no Android.

Daniel Viana 10 anos atrás

A notificação é uma forma de informar o usuário sobre eventos do aplicativo. Geralmente é exibida quando ele está fora da aplicação. Desta forma, elas são fortes aliadas para tornar as aplicações mais interativas e aumentar o engajamento com seu usuário.

Quando uma notificação é lançada pela aplicação, ela é tratada pelo Notification Manager, que possui a capacidade de exibir um ícone na área de notificação, exibir a notificação na tela, piscar a tela, vibrar o dispositivo, iniciar um alerta sonoro, exibir informações adicionais quando a área de notificação é exibida, etc.

Curso React Native - Componentes nativos Conhecer o curso

Como as notificações são formas de informar ao usuário sobre eventos da aplicação, elas são utilizadas, praticamente, por todos os aplicativos. Com este recurso o usuário não precisa abrir a aplicação para saber se novas informações foram recebidas ou se algum evento lançado por ele foi finalizado, ele consegue visualizar estes dados pela própria notificação lançada.

Ao trabalharmos com notificações, é comum implementar uma ação ao evento click. Geralmente, ao receber um click, a aplicação que lançou aquela notificação é aberta exibindo maiores detalhes. Para isso, precisamos passar para a notificação uma PendingIntent.

A PendingIntent especifica uma ação que será executada no futuro. Ela passa uma “futura” intent para outra aplicação e permite que esta aplicação execute a intent como se tivesse as mesmas permissões da sua aplicação. Ela é um token que você informa para uma outra aplicação, que permite que ela execute um pedaço de código com as mesmas permissões que a sua aplicação.

Ao fornecer um PendingIntent para outra aplicação, você garante a execução correta da operação especificada pela outra aplicação, como se fosse a sua (com as mesmas permissões e identidade).

Implementação:

public void criarNotificacaoSimples(){
    int id = 1;
    String titulo = "Título da Notificação";
    String texto = "Texto da notificação Simples";
    int icone = android.R.drawable.ic_dialog_info;

    Intent intent = new Intent(this, TextoActivity.class);
    PendingIntent p = getPendingIntent(id, intent, this);

    NotificationCompat.Builder notificacao = new NotificationCompat.Builder(this);
    notificacao.setSmallIcon(icone);
    notificacao.setContentTitle(titulo);
    notificacao.setContentText(texto);
    notificacao.setContentIntent(p);

    NotificationManagerCompat nm = NotificationManagerCompat.from(this);
    nm.notify(id, notificacao.build());
}

private PendingIntent getPendingIntent(int id, Intent intent, Context context){
    TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
    stackBuilder.addParentStack(intent.getComponent());
    stackBuilder.addNextIntent(intent);

    PendingIntent p = stackBuilder.getPendingIntent(id, PendingIntent.FLAG_UPDATE_CURRENT);
    return p;
}

No método criarNotificacaoSimples(), inicialmente, temos a criação de todas as variáveis que serão usadas para criar e configurar a notificação. O id que irá identificar a notificação, o título, texto e ícone que serão exibidos nela. E no fim deste trecho, é criada a Pending Intent, retornada pelo método getPendingIntent():

int id = 1;
String titulo = "Título da Notificação";
String texto = "Texto da notificação Simples";
int icone = android.R.drawable.ic_dialog_info;

Intent intent = new Intent(this, TextoActivity.class);
PendingIntent p = getPendingIntent(id, intent, this);

Em seguida, no mesmo método, temos a criação e a configuração das propriedades da notificação. Para criá-la, é utilizado a Classe de compatibilidade NotificationCompat e assim é possível configurar o ícone (setSmallIcon()), o título da notificação (setContentTitle()), o conteúdo (setContentText) e a intent que será disparada ao clicar sobre a notificação (setContentIntent()):

NotificationCompat.Builder notificacao = new NotificationCompat.Builder(this);
notificacao.setSmallIcon(icone);
notificacao.setContentTitle(titulo);
notificacao.setContentText(texto);
notificacao.setContentIntent(p);

E para exibir a notificação para o usuário, precisamos de um gerenciador de notificações, no caso o NotificationManagerCompat, ele será responsável por exibir a notificação para o usuário através do notify() passando por parâmetro o id que identificará a notificação e a notificação criada anteriormente:

NotificationManagerCompat nm = NotificationManagerCompat.from(this);
nm.notify(id, notificacao.build());

Agora você já é capaz de implementar uma notificação no seu app. o/

Um abraço e até a próxima!

Curso Android - Utilizando Material Design nas aplicações Conhecer o curso

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 04h 52min 08s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora