清除徽章图标而不清除通知

Posted

技术标签:

【中文标题】清除徽章图标而不清除通知【英文标题】:Clearing badge Icon without clearing notifications 【发布时间】:2018-12-06 13:14:33 【问题描述】:

我必须在打开应用程序时清除应用程序徽章图标。我通过将 applicationBadgeIcon 设置为 0 来明确。

=> 但它会清除我来自通知中心的所有通知。我也尝试将 applicationBadgeIcon 设置为 -1,但它也对我不起作用。

有什么解决办法吗?

【问题讨论】:

能否提供相应类的代码sn-p? 为什么不将通知本地存储在数据库中并将 applicationBadgeIcon 设置为 0 ?? 你试过了吗:***.com/a/41758039/1864667 @Markk 是的,我试过了 【参考方案1】:
UIApplication.shared.applicationIconBadgeNumber = 0 // Badge count was removed.

它在 Swift 4 中对我来说工作正常

【讨论】:

【参考方案2】:

如果您在推送通知的有效负载中传递徽章,您需要实现的目标将无法实现。如果您有任何实现此行为的方法,请做一件事,从有效负载中删除 badge 编号,然后您不必费心清除徽章计数,您的推送仍会显示在通知中

缺点:

1) 用户需要像 instagram 一样一一删除所有通知

否则没有办法做到这一点。

【讨论】:

以上是关于清除徽章图标而不清除通知的主要内容,如果未能解决你的问题,请参考以下文章

增量后清除推送通知徽章

如何在保留通知中心的同时清除徽章编号

推送通知徽章清除警报

如何在 iOS 中清除推送通知徽章计数?

IBM Worklight 6.1 - 来自推送通知的磁贴徽章从未在 Windows Phone 8 上清除

iOS重新安装应用程序不清除徽章