Ответ
Да, работал. NotificationChannel появились в Android 8.0 (API 26) для управления группами уведомлений. Каждый канал имеет уникальный ID, имя, важность и другие настройки.
Пример создания канала:
val channel = NotificationChannel(
"channel_id",
"Channel Name",
NotificationManager.IMPORTANCE_HIGH
).apply {
description = "Channel Description"
enableVibration(true)
}
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(channel)
После создания канал нельзя изменить программно - пользователь может настроить его только в системных настройках. Для Android версий ниже 8.0 каналы игнорируются.
Ответ 18+ 🔞
А, работал, блядь! Ну это ж классика, ёпта. NotificationChannel ввели, когда в Android 8.0 приперлись, чтобы с этими группами уведомлений хоть какой-то порядок был. Каждый такой канал — это как отдельная личность, у него свой ID, имя, важность и прочие прибамбасы.
Вот смотри, как его наколдовать:
val channel = NotificationChannel(
"channel_id",
"Channel Name",
NotificationManager.IMPORTANCE_HIGH
).apply {
description = "Channel Description"
enableVibration(true)
}
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(channel)
И вот тут самое интересное, ядрёна вошь: после того как ты его создал — всё, приехали. Программно его уже не поменяешь, хоть тресни. Пользователь может там в настройках системы его покрутить, а ты сиди и смотри. И да, для старых девайсов, где андроид ниже восьмёрки, эти каналы — просто пыль, их нихуя не существует, игнорируются на раз. Вот такая хитрая жопа получилась.