iOS:徽章计数器与通知中心
Posted
技术标签:
【中文标题】iOS:徽章计数器与通知中心【英文标题】:iOS: badge counter vs. Notification center 【发布时间】:2013-01-02 11:43:04 【问题描述】:我对通知中心和应用程序徽章计数器有点(很多)困惑。我设计了一个 ios 待办事项应用程序,它使用本地通知来提醒用户计划提醒(他们在应用程序中设置)。该应用程序还使用图标批处理计数器来显示“今天”到期的任务数。
在设置提醒通知正确显示在通知中心的时间。但是,一旦打开应用程序,通知就会从通知中心清除。这个想法是通知在通知中心保持可用,直到用户清除它们。
我已经和我的开发人员讨论过这个问题,他说只有在我们不使用图标批处理计数器时才能将通知保存在 NC 中。这对我来说似乎很不合逻辑,因为图标批处理计数器显示“今天”到期的任务数,而通知中心显示的通知是用户设置的警报。
希望你们能在这里提供帮助....谢谢!
【问题讨论】:
我自己并没有对通知中心做太多事情,但我同意这似乎有点不合逻辑,但我不会抹黑它,因为 Apple 总是在做这样疯狂的事情。 它太糟糕了,我们不能对 cmets 投反对票.. :( 您可能误解了通知的概念。通知只是“发生了一些事情,请打开应用程序”。当您打开应用程序时,无需保留通知。 我知道通知的概念,我只是希望它们对用户保持可用:-) 【参考方案1】:应用程序可以设置自己的徽章(计数器),独立于计划的通知。所以你当然可以设置任何你想显示今天任务的计数器:
NSUInteger tasksCount = 10;
[UIApplication sharedApplication].applicationIconBadgeNumber = tasksCount;
谈到要在 NF 栏中显示的通知,它可由用户在设备的本机中配置:设置-> 通知-> 因此,如果您不能强制用户在 NF 栏中显示所有通知(假设一天 50 条)用户只配置了 5 个。
回到您的担忧,当应用程序启动时,来自 NF 栏的通知不会自动清除。您必须编写 CODE 才能将它们从应用程序中删除。
[[UIApplication sharedApplication] cancelAllLocalNotifications];
或
[[UIApplication sharedApplication] cancelLocalNotification:<notification object>];
【讨论】:
谢谢!我会将其传递给我的开发人员。以上是关于iOS:徽章计数器与通知中心的主要内容,如果未能解决你的问题,请参考以下文章