Sobes.tech
Junior

Cum să creezi o notificare în Android?

sobes.tech AI

Răspuns de la AI

Pentru a crea o notificare pe Android, trebuie să urmați pașii următori:

  1. Creați un canal de notificare (pentru API nivel 26 și mai mare).
  2. Construiți notificarea folosind NotificationCompat.Builder.
  3. Afișați notificarea prin intermediul managerului de notificări.
// Crearea canalului de notificare (API 26+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    String channelId = "my_channel_id";
    CharSequence channelName = "Canalul Meu";
    String channelDescription = "Descriere pentru Canalul Meu";
    int importance = NotificationManager.IMPORTANCE_DEFAULT;
    NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
    channel.setDescription(channelDescription);
    // Înregistrarea canalului în sistem
    NotificationManager notificationManager = getSystemService(NotificationManager.class);
    notificationManager.createNotificationChannel(channel);
}

// Crearea builder-ului de notificare
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Specificați ID-ul canalului
        .setSmallIcon(R.drawable.ic_notification) // Pictograma notificării
        .setContentTitle("Titlul notificării") // Titlu
        .setContentText("Textul notificării") // Text
        .setPriority(NotificationCompat.PRIORITY_DEFAULT); // Prioritate

// Crearea PendingIntent pentru acțiunea la apăsarea notificării
// De exemplu, deschiderea unei activități
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Flag pentru API S+
builder.setContentIntent(pendingIntent);

// Afișarea notificării
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // ID unic pentru notificare
notificationManagerCompat.notify(notificationId, builder.build());

Componente principale ale notificării:

  • Pictogramă mică: setSmallIcon(), afișată în bara de stare.
  • Titlu: setContentTitle(), textul principal al notificării.
  • Text: setContentText(), text suplimentar.
  • Canal de notificare (API 26+): Grup de notificări cu setări comune.
  • PendingIntent: Acțiunea executată la apăsarea notificării.

De asemenea, se poate adăuga o imagine mare (setStyle(new NotificationCompat.BigPictureStyle())), butoane de acțiune (addAction()), seta sunet, vibrație și alți parametri.