Junior
Kako napraviti obaveštenje u Androidu?
sobes.tech АИ
Одговор од АИ
Za kreiranje obaveštenja u Androidu potrebno je izvršiti sledeće korake:
- Kreirajte kanal za obaveštenja (za API nivo 26 i više).
- Izgradite obaveštenje pomoću
NotificationCompat.Builder. - Prikažite obaveštenje putem menadžera obaveštenja.
// Kreiranje kanala za obaveštenja (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);
// Registracija kanala u sistemu
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.createNotificationChannel(channel);
}
// Kreiranje builder-a za obaveštenja
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Navesti ID kanala
.setSmallIcon(R.drawable.ic_notification) // Ikona obaveštenja
.setContentTitle("Naslov obaveštenja") // Naslov
.setContentText("Tekst obaveštenja") // Tekst
.setPriority(NotificationCompat.PRIORITY_DEFAULT); // Prioritet
// Kreiranje PendingIntent-a za akciju na klik obaveštenja
// Na primer, otvaranje aktivnosti
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Flag za API S+
builder.setContentIntent(pendingIntent);
// Prikaz obaveštenja
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // Jedinstveni ID za obaveštenje
notificationManagerCompat.notify(notificationId, builder.build());
Glavni sastavni delovi obaveštenja:
- Mala ikona:
setSmallIcon(), prikazuje se u statusnoj liniji. - Naslov:
setContentTitle(), glavni tekst obaveštenja. - Tekst:
setContentText(), dodatni tekst. - Kanal obaveštenja (API 26+): Grupa obaveštenja sa zajedničkim podešavanjima.
- PendingIntent: Akcija koja se izvršava na klik obaveštenja.
Dodatno, možete dodati veliki prikaz slike (setStyle(new NotificationCompat.BigPictureStyle())), dugmad za akcije (addAction()), podesiti zvuk, vibraciju i druge parametre.