android - 删除没有id的通知 channel

标签 android push-notification

我的应用程序有一个错误,它发送不同的推送通知,到目前为止,每个通知都有自己的 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 (NotificationChannelgetId() 方法)

关于android - 删除没有id的通知 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56627635/

相关文章:

javascript - 使用 Javascript 将数据/有效负载发送到 Google Chrome 推送通知

android - 如何从 Assets 文件夹中获取所有文件

android - 防止 webview Activity 中的多个实例

ios - 推送通知的证书和私钥

ios - 我是否需要 iOS 通知服务扩展的分发配置文件?

ios - 实现服务器

android - 在android中将单选按钮与recyclerview一起使用

Android 活跃下载线程

java - 根据条件不同的覆盖方法

android - Android 2.1 测试推荐设备