【发布时间】:2018-11-17 11:55:38
【问题描述】:
我可以检查频道是否启用/禁用
NotificationChannel channel = manager.getNotificationChannel(channelId);
boolean isEnabled = channel.getImportance() != IMPORTANCE_NONE;
但如果通道未启用,那么我想通过将其设置为 IMPORTANCE_HIGH 来启用它
if (!isEnabled) {
channel.setImportance(NotificationManager.IMPORTANCE_HIGH);
manager.createNotificationChannel(channel);
}
问题是频道没有更新,它只有在我尝试使用 IMPORTANCE_NONE 禁用它时才有效,以防它被启用,但不是这样。
我尝试删除频道并创建一个具有不同 ID 的新频道,这可以正常工作,但没有创建一个具有相同 ID 的新频道。
如何解决这个问题?
【问题讨论】:
-
如果频道可以通过第三方应用启用/禁用。那么拥有频道的用例是什么?您无法更改频道优先级。
-
您可能只能操纵自己应用的频道。不是其他应用程序。看起来可以通过编程方式禁用它们,将重要性设置为 NONE
标签: java android android-notifications android-8.0-oreo android-settings