Sobes.tech
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:

  1. Crear un canal de notificación (para API nivel 26 y superior).
  2. Construir la notificación usando NotificationCompat.Builder.
  3. 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.