Удалить канал уведомлений без идентификатора

В моем приложении есть ошибка, из-за которой оно отправляет разные push-уведомления, и до сих пор каждое уведомление имело свой собственный идентификатор канала, поэтому пользователь получал для каждого нового уведомления новый канал, который он затем может включать/отключать с помощью переключателя. Эта ошибка теперь исправлена, но я хочу удалить старые ненужные каналы программно, и я нашел способ сделать это следующим образом:

// The id of the channel.
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
val id: String = "my_channel_01"
notificationManager.deleteNotificationChannel(id)

Но поскольку каждый канал создавался по случайно сгенерированному идентификатору, и этот идентификатор был отброшен, я не могу удалить канал по его идентификатору.

Есть ли способ перечислить все идентификаторы каналов, которые получил пользователь, или каким-либо другим способом удалить старые каналы, не зная идентификатора?

1
0
1 500
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы пробовали cancelAll() метод, если диспетчер уведомлений

notificationManager.cancelAll()

это для отмены/удаления уведомлений, а не каналов

snachmsm 17.06.2019 10:46
Ответ принят как подходящий

получить полный список всех уже созданных каналов, вызвав получитьканалы уведомлений()

перебрать этот список и вызвать deleteNotificationChannel(id) для ненужных/неизвестных каналов (NotificationChannel есть метод получить идентификатор ())

Другие вопросы по теме

Сделать push-уведомления всплывающими, когда приложение находится в фоновом режиме с помощью firebase
Как открыть определенную активность из push-уведомления в Android и FCM?
Отправлять push-уведомление мобильного приложения с помощью onesignal REST API на токены устройств, хранящиеся в БД
Как добавить различные действия в зависимости от категории, определенной в полезной нагрузке входящего удаленного уведомления? Свифт ОБНОВЛЕНО
Загрузка App Store отклонена из-за проблемы с правами push
Android-бот в области уведомлений вместо значка запуска – FCM
Входящие расширенные push-уведомления не будут отображать изображение. Свифт 4
Получить количество уведомлений OneSignal
Почему JsonWebSignature с алгоритмом шифрования ECDH каждый раз дает другую подпись?
Есть ли способ отправить уведомление с одного устройства на другое устройство с помощью FCM без базы данных Firebase?