我的应用程序有一个错误,它发送不同的推送通知,到目前为止,每个通知都有自己的 channel ID,因此用户为每个新通知都有一个新 channel ,然后他可以通过切换启用/禁用该 channel 。这个错误现已修复,但我想以编程方式删除旧的不必要的 channel ,我找到了这样做的方法:
// The id of the channel.
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
val id: String = "my_channel_01"
notificationManager.deleteNotificationChannel(id)
但是由于每个 channel 都是由随机生成的 ID 创建的,并且该 ID 已被丢弃,因此我无法通过他的 ID 删除该 channel 。
有没有办法列出用户获得的所有 channel ID,或者以其他方式在不知道 ID 的情况下删除旧 channel
最佳答案
通过调用 getNotificationChannels() 获取所有已创建 channel 的完整列表
迭代此列表并调用 deleteNotificationChannel(id)
对于不必要/未知的 channel (NotificationChannel
有 getId() 方法)
关于android - 删除没有id的通知 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56627635/