如何在保留通知中心的同时清除徽章编号
Posted
技术标签:
【中文标题】如何在保留通知中心的同时清除徽章编号【英文标题】:How to clear badge number while preserving notification center 【发布时间】:2013-05-14 03:01:00 【问题描述】:我使用[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]
清除徽章编号。它工作正常,但同时删除了远程通知。
还有许多其他问题需要清除通知中心,但我不想清除它们。我只想在保留通知的同时清除徽章数量。
有什么办法可以做到吗?
【问题讨论】:
【参考方案1】:解决此问题的一种巧妙方法是将徽章计数设置为负值。负值不会显示在主屏幕上,并且由于它们不为零,因此不会导致通知中心被清除。
试试[[UIApplication sharedApplication] setApplicationIconBadgeNumber:-1]
,看看它是否会产生你想要的面向用户的行为。
【讨论】:
奇怪的是,这不再适合我了……不知道为什么,我以为它在几周前就可以工作了。 在我的应用程序中奇怪的是,在设置为 -1 后不久检查徽章获取器会导致 0。也许将值更改为 0 的任何东西都会触发我设置它时发生的相同通知中心清除到 0...【参考方案2】:据我所知,将badge值设置为0是不可能的。应用程序的badge值只有在大于0时才会显示。否则(如果为0),它将被ios隐藏.
【讨论】:
抱歉含糊不清。我想在保留通知中心的同时清除徽章值。【参考方案3】:[[UIApplication sharedApplication] setApplicationIconBadgeNumber:-1]
它不适合我。
但我试试这个没问题。
UILocalNotification *notification=[[UILocalNotification alloc]init];
notification.applicationIconBadgeNumber=-1;
[[UIApplication sharedApplication] presentLocalNotificationNow:notification];
【讨论】:
以上是关于如何在保留通知中心的同时清除徽章编号的主要内容,如果未能解决你的问题,请参考以下文章