繁体   English   中英

以编程方式启用通知渠道

[英]Enable notification channels programmatically

我能够检查频道是否已启用/禁用

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的新频道。

如何解决这个问题?

您不能通过编程方式更改频道重要性,而不删除频道。

因为用户可能手动更改了重要性。

要以编程方式实现这一目标,以获取频道并创建具有新ID的新频道。 删除旧频道。 如果使用先前的ID创建频道,您的更改将不会反映

作为参考,请检查WhatsApp应用程序尝试从应用程序更改铃声并在左下角的频道中查看x频道已删除消息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM