Sobes.tech
Junior — Middle

Můžeš mluvit o mechanismech a způsobech implementace oznámení v systémech?

sobes.tech AI

Odpověď od AI

V Androidu jsou oznámení implementována pomocí třídy Notification a NotificationManager. Hlavní mechanismy:

  • Vytvoření oznámení: pomocí Notification.Builder se vytvoří objekt oznámení, kde se nastaví ikona, nadpis, text, akce a další parametry.
  • Odeslání oznámení: NotificationManager.notify() zobrazí oznámení na panelu.
  • Kanály oznámení (Notification Channels): od Androidu 8.0 jsou oznámení seskupena podle kanálů, které lze konfigurovat (zvuk, vibrace atd.).
  • Zpracování kliknutí: přes PendingIntent lze určit akci při kliknutí na oznámení.

Příklad vytvoření jednoduchého oznámení:

NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

// Pro Android 8.0+ vytvoříme kanál
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel("channel_id", "Název kanálu", NotificationManager.IMPORTANCE_DEFAULT);
    notificationManager.createNotificationChannel(channel);
}

Notification notification = new Notification.Builder(context, "channel_id")
    .setContentTitle("Nadpis")
    .setContentText("Text oznámení")
    .setSmallIcon(R.drawable.ic_notification)
    .build();

notificationManager.notify(1, notification);

Také lze použít externí knihovny a služby pro push notifikace, například Firebase Cloud Messaging (FCM).