Sobes.tech
Back to questions
Junior — Middle
66

Имел ли опыт работы с механизмом NotificationChannel для отправки уведомлений?

Answer from AI

sobes.tech AI

NotificationChannel — это механизм, введённый в Android 8.0 (API 26) для управления уведомлениями. Он позволяет группировать уведомления по каналам с разными настройками важности, звуками и визуальными эффектами. При отправке уведомления нужно указать канал, иначе уведомление не будет показано.

Пример создания канала:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    val channel = NotificationChannel(
        "channel_id",
        "Основной канал",
        NotificationManager.IMPORTANCE_DEFAULT
    ).apply {
        description = "Описание канала"
    }
    val notificationManager: NotificationManager =
        context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
    notificationManager.createNotificationChannel(channel)
}

После этого при создании уведомления указываем этот канал:

val notification = NotificationCompat.Builder(context, "channel_id")
    .setContentTitle("Заголовок")
    .setContentText("Текст уведомления")
    .setSmallIcon(R.drawable.ic_notification)
    .build()

notificationManager.notify(notificationId, notification)