删除没有id的通知通道

rm *_*-rf 2 android push-notification

我的应用程序有一个错误,它发送不同的推送通知,到目前为止,每个通知都有自己的通道 ID,因此用户为每个新通知都有一个新通道,然后他可以通过切换启用/禁用该通道。这个错误现已修复,但我想以编程方式删除旧的不必要的通道,我找到了这样做的方法:

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

但由于每个频道都是由随机生成的 ID 创建的,并且该 ID 已被丢弃,因此我无法通过他的 ID 删除该频道。

有没有办法列出用户获得的所有频道 ID,或者以其他方式在不知道 ID 的情况下删除旧频道

sna*_*msm 5

通过调用getNotificationChannels()获取所有已创建通道的完整列表

迭代此列表并调用deleteNotificationChannel(id)不必要/未知的通道(NotificationChannel具有getId()方法)