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).