我的应用有通知功能。收到通知后,我会在应用图标中显示徽章。
据我所知,当我的应用程序处于后台时,由于用户没有点击通知中心的通知,我的应用程序不知道它有通知。所以它不能改变徽章编号。
同样来自这个主题: Detect when a user clears notification from the notification center
如果用户清除了应用的通知,则该应用无法检测到它。
问题出在这里:
- 我的应用程序在背景上
- 用户收到与应用程序相关的通知
- 应用程序会在应用程序的图标上添加带编号1的徽章
- 用户从通知中心删除通知
- 应用程序永远不会理解已删除通知,以便它可以删除徽章!!!
那么其他应用如何解决这个问题呢?对此有什么解决方案吗?
答案 0 :(得分:4)
无法检查用户何时清除应用的通知。
清除应用徽章的通常做法是,当用户查看应用内的适用内容时(例如,消息应用中的消息),或者只是在用户下次打开应用时清除徽章,如果不是适用,或者您无法轻松细分通知并将其与应用中的可查看内容相关联。
注意: 您 如果您的用户没有点按您的通知,那么您的应用无法找到其内容,也无法找到它的内容。
相反,当您的应用程序打开时,它应该连接到您的服务器以下载更新的内容,然后您可以使用这些完整,准确的信息来根据需要更新您的应用程序徽章。请勿尝试从通知中提取内容。
答案 1 :(得分:1)
您可以在通知中添加自定义操作:“标记为已读”或“删除”。使用-application:handleActionWithIdentifier:...
方法删除徽章。
是的,它不允许您检测用户清除通知。但是没有办法做到这一点。所以我建议解决这个问题的解决方法。