Junior
Ako vytvoriť upozornenie v Androidi?
sobes.tech AI
Odpoveď od AI
Na vytvorenie oznámenia v Android je potrebné vykonať nasledovné kroky:
- Vytvorte kanál oznámení (pre API úroveň 26 a vyššie).
- Postavte oznámenie pomocou
NotificationCompat.Builder. - Zobrazte oznámenie prostredníctvom správcu oznámení.
// Vytvorenie kanála oznámení (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);
// Registrácia kanála v systéme
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
// Vytvorenie buildera pre oznámenia
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Uveďte ID kanála
.setSmallIcon(R.drawable.ic_notification) // Ikona oznámenia
.setContentTitle("Nadpis oznámenia") // Nadpis
.setContentText("Text oznámenia") // Text
.setPriority(NotificationCompat.PRIORITY_DEFAULT); // Priorita
// Vytvorenie PendingIntent pre akciu pri kliknutí na oznámenie
// Napríklad, otvorenie aktivity
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Flag pre API S+
builder.setContentIntent(pendingIntent);
// Zobrazenie oznámenia
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // Jedinečný ID pre oznámenie
notificationManagerCompat.notify(notificationId, builder.build());
Hlavné komponenty oznámenia:
- Malá ikona:
setSmallIcon(), zobrazuje sa v stavovej lište. - Nadpis:
setContentTitle(), hlavný text oznámenia. - Text:
setContentText(), doplnkový text. - Kanal oznámení (API 26+): Skupina oznámení s spoločnými nastaveniami.
- PendingIntent: Akcia vykonávaná pri kliknutí na oznámenie.
Okrem toho môžete pridať veľký obrázok (setStyle(new NotificationCompat.BigPictureStyle())), tlačidlá akcií (addAction()), nastaviť zvuk, vibráciu a ďalšie parametre.