Удалить канал уведомлений без идентификатора - PullRequest
0 голосов
/ 17 июня 2019

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

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

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

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

Ответы [ 2 ]

1 голос
/ 17 июня 2019

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

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

0 голосов
/ 17 июня 2019

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

notificationManager.cancelAll()
...