Sobes.tech
Junior

Kuidas luua teavitus Androidis?

sobes.tech AI

Vastus AI-lt

Selleks, et luua Androidis teavitus, tuleb teha järgmised sammud:

  1. Loo teavituskanal (API tasemel 26 ja kõrgem).
  2. Koosta teavitus NotificationCompat.Builder abil.
  3. Näita teavitust teavituste halduriga.
// Teavituskanaali loomine (API 26+)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    String channelId = "my_channel_id";
    CharSequence channelName = "My Channel";
    String channelDescription = "Description for My Channel";
    int importance = NotificationManager.IMPORTANCE_DEFAULT;
    NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
    channel.setDescription(channelDescription);
    // Registreeri kanal süsteemis
    NotificationManager notificationManager = getSystemService(NotificationManager.class);
    notificationManager.createNotificationChannel(channel);
}

// Koosta teavituse ehitaja
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Näita kanali ID-d
        .setSmallIcon(R.drawable.ic_notification) // Ikon
        .setContentTitle("Teavituse pealkiri") // Pealkiri
        .setContentText("Teavituse tekst") // Tekst
        .setPriority(NotificationCompat.PRIORITY_DEFAULT); // Prioriteet

// Loo PendingIntent tegevuseks, kui teavitus on klõpsatud
// Näiteks, avada aktiivsus
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // API S+ märk
builder.setContentIntent(pendingIntent);

// Näita teavitust
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // Unikaalne ID
notificationManagerCompat.notify(notificationId, builder.build());

Peamised teavituse komponendid:

  • Väike ikoon: setSmallIcon(), kuvatakse olekuribal.
  • Pealkiri: setContentTitle(), peamine tekst.
  • Tekst: setContentText(), täiendav tekst.
  • Teavituse kanal (API 26+): Rühm teavitusi ühiste seadistustega.
  • PendingIntent: Tegevus, mis toimub teavituse klõpsamisel.

Lisaks saab lisada suure pildi (setStyle(new NotificationCompat.BigPictureStyle())), tegevusnupud (addAction()), heli, vibratsiooni ja muid parameetreid.