如何检测用户何时清除应用的通知

时间:2015-05-19 09:22:34

标签: ios objective-c iphone notifications badge

我的应用有通知功能。收到通知后,我会在应用图标中显示徽章。

据我所知,当我的应用程序处于后台时,由于用户没有点击通知中心的通知,我的应用程序不知道它有通知。所以它不能改变徽章编号。

同样来自这个主题: Detect when a user clears notification from the notification center

如果用户清除了应用的通知,则该应用无法检测到它。

问题出在这里:
- 我的应用程序在背景上 - 用户收到与应用程序相关的通知 - 应用程序会在应用程序的图标上添加带编号1的徽章 - 用户从通知中心删除通知
- 应用程序永远不会理解已删除通知,以便它可以删除徽章!!!

那么其他应用如何解决这个问题呢?对此有什么解决方案吗?

2 个答案:

答案 0 :(得分:4)

无法检查用户何时清除应用的通知。

清除应用徽章的通常做法是,当用户查看应用内的适用内容时(例如,消息应用中的消息),或者只是在用户下次打开应用时清除徽章,如果不是适用,或者您无法轻松细分通知并将其与应用中的可查看内容相关联。

注意: 如果您的用户没有点按您的通知,那么您的应用无法找到其内容,也无法找到它的内容。

相反,当您的应用程序打开时,它应该连接到您的服务器以下载更新的内容,然后您可以使用这些完整,准确的信息来根据需要更新您的应用程序徽章。请勿尝试从通知中提取内容。

答案 1 :(得分:1)

您可以在通知中添加自定义操作:“标记为已读”或“删除”。使用-application:handleActionWithIdentifier:...方法删除徽章。

是的,它不允许您检测用户清除通知。但是没有办法做到这一点。所以我建议解决这个问题的解决方法。