Sobes.tech
Junior

Как да създадете известие в Android?

sobes.tech AI

Отговор от AI

За създаването на уведомление в Android трябва да изпълните следните стъпки:

  1. Създайте канал за уведомления (за API ниво 26 и нагоре).
  2. Изградете уведомление с помощта на NotificationCompat.Builder.
  3. Покажете уведомлението чрез мениджъра за уведомления.
// Създаване на канал за уведомления (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);
    // Регистрация на канала в системата
    NotificationManager notificationManager = getSystemService(NotificationManager.class);
    notificationManager.createNotificationChannel(channel);
}

// Създаване на строител за уведомления
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "my_channel_id") // Укажете ID на канала
        .setSmallIcon(R.drawable.ic_notification) // Иконка на уведомлението
        .setContentTitle("Заглавие на уведомлението") // Заглавие
        .setContentText("Текст на уведомлението") // Текст
        .setPriority(NotificationCompat.PRIORITY_DEFAULT); // Приоритет

// Създаване на PendingIntent за действие при натискане на уведомлението
// Например, отваряне на активност
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Флаг за API S+
builder.setContentIntent(pendingIntent);

// Показване на уведомлението
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
int notificationId = 1; // Уникален ID за уведомлението
notificationManagerCompat.notify(notificationId, builder.build());

Основни компоненти на уведомлението:

  • Малка иконка: setSmallIcon(), показва се в лентата със състоянието.
  • Заглавие: setContentTitle(), главният текст на уведомлението.
  • Текст: setContentText(), допълнителен текст.
  • Канал за уведомления (API 26+): Група за уведомления с общи настройки.
  • PendingIntent: Действие, изпълнявано при натискане на уведомлението.

Може допълнително да добавите голямо изображение (setStyle(new NotificationCompat.BigPictureStyle())), бутони за действия (addAction()), да настроите звука, вибрацията и други параметри.