Junior
Como criar uma notificação no Android?
sobes.tech IA
Resposta da IA
Para criar uma notificação no Android, deve seguir os seguintes passos:
- Criar um canal de notificação (para API nível 26 e superior).
- Construir a notificação usando
NotificationCompat.Builder. - Mostrar a notificação através do gestor de notificações.
// Criação do canal de notificação (API 26+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String channelId = "my_channel_id";
CharSequence channelName = "Meu Canal";
String channelDescription = "Descrição do Meu Canal";
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
channel.setDescription(channelDescription);
// Registo do canal no sistema
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
// Criação do construtor de notificações
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Especificar ID do canal
.setSmallIcon(R.drawable.ic_notification) // Ícone da notificação
.setContentTitle("Título da notificação") // Título
.setContentText("Texto da notificação") // Texto
.setPriority(NotificationCompat.PRIORITY_DEFAULT); // Prioridade
// Criar PendingIntent para a ação ao clicar na notificação
// Por exemplo, abrir uma atividade
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Bandeira para API S+
builder.setContentIntent(pendingIntent);
// Mostrar a notificação
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // ID único para a notificação
notificationManagerCompat.notify(notificationId, builder.build());
Componentes principais da notificação:
- Ícone pequeno:
setSmallIcon(), exibido na barra de estado. - Título:
setContentTitle(), texto principal da notificação. - Texto:
setContentText(), texto adicional. - Canal de notificação (API 26+): Grupo de notificações com configurações comuns.
- PendingIntent: Ação executada ao clicar na notificação.
Adicionalmente, pode-se adicionar uma imagem grande (setStyle(new NotificationCompat.BigPictureStyle())), botões de ação (addAction()), configurar som, vibração e outros parâmetros.