Junior
¿Cómo crear una notificación en Android?
sobes.tech AI
Respuesta de la IA
Para crear una notificación en Android, debes seguir los siguientes pasos:
- Crear un canal de notificación (para API nivel 26 y superior).
- Construir la notificación usando
NotificationCompat.Builder. - Mostrar la notificación a través del gestor de notificaciones.
// Creación del canal de notificación (API 26+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String channelId = "my_channel_id";
CharSequence channelName = "Mi Canal";
String channelDescription = "Descripción de Mi Canal";
int importance = NotificationManager.IMPORTANCE_DEFAULT;
NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
channel.setDescription(channelDescription);
// Registro del canal en el sistema
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
// Creación del constructor de notificaciones
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Especificar ID del canal
.setSmallIcon(R.drawable.ic_notification) // Icono de la notificación
.setContentTitle("Título de la notificación") // Título
.setContentText("Texto de la notificación") // Texto
.setPriority(NotificationCompat.PRIORITY_DEFAULT); // Prioridad
// Crear PendingIntent para la acción al pulsar la notificación
// Por ejemplo, abrir una actividad
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Bandera para API S+
builder.setContentIntent(pendingIntent);
// Mostrar la notificación
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // ID único para la notificación
notificationManagerCompat.notify(notificationId, builder.build());
Componentes principales de la notificación:
- Icono pequeño:
setSmallIcon(), se muestra en la barra de estado. - Título:
setContentTitle(), texto principal de la notificación. - Texto:
setContentText(), texto adicional. - Canal de notificación (API 26+): Grupo de notificaciones con configuraciones compartidas.
- PendingIntent: Acción que se realiza al pulsar la notificación.
También se puede agregar una imagen grande (setStyle(new NotificationCompat.BigPictureStyle())), botones de acción (addAction()), configurar sonido, vibración y otros parámetros.