До Android 8.0 (API v26) это выполнялось просто вызовом метода
NotificationManager.areNotificationsEnabled()
.После введения каналов нотификаций, этого стало недостаточно. Пользователь может отключить нотификации для определенного канала, но оставить включенной общую настройку нотификаций.
Чтобы узнать, включены ли нотификации у канала, надо сначала получить объект
NotificationChannel
методом NotificationManager.getNotificationChannel(channelId: String)
или получить список всех каналов методом NotificationManager.getNotificationChannels()
.После этого вызываем метод
NotificationChannel.getImportance()
. Если этот метод возвращает значение NotificationManager.IMPORTANCE_NONE
, то данный канал выключен.