本地通知徽章编号不超过一个
Posted
技术标签:
【中文标题】本地通知徽章编号不超过一个【英文标题】:local notification badge number not more than one 【发布时间】:2015-07-13 09:34:14 【问题描述】:在几分钟内,我同时收到了两个不同的本地通知。 但是应用程序的徽章编号显示“1”而不是“2”
我的代码:
var localNotification = UILocalNotification()
localNotification.userInfo = ["UUID": FirstReminderString, ]
localNotification.fireDate = SameDay
localNotification.alertBody = "Reminder !"
localNotification.timeZone = NSTimeZone.defaultTimeZone()
localNotification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
【问题讨论】:
您可能会在this related question 中找到有用的附加信息。 好的,这意味着在注册新通知之前,我必须检查同一天有多少通知处于活动状态,并为新通知获取此计数 + 1?我如何查看一天的通知数量? 【参考方案1】:当您安排通知时,会采用当前的徽章编号(可能为 0)。因此,在徽章编号增加之前,您安排的所有通知的新徽章编号将为 1。
【讨论】:
【参考方案2】:如果您的应用处于前台模式:您可以通过以下代码调整徽章编号:
func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification)
application.applicationIconBadgeNumber = application.applicationIconBadgeNumber + 1; // increase counter
如果应用处于后台模式,则不会调用此方法。
所以我们必须在服务器中做如下事情:
func sendLocalNotif(notifCountAlreadySent:Int)
var localNotification = UILocalNotification()
localNotification.userInfo = ["UUID": FirstReminderString, ]
localNotification.fireDate = SameDay
localNotification.alertBody = "Reminder !"
localNotification.timeZone = NSTimeZone.defaultTimeZone()
localNotification.applicationIconBadgeNumber = notifCountAlreadySent + 1
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
看看有没有帮助。此函数接收一个跟踪号。那被用作徽章编号。您只需跟踪已经发送了多少通知。
【讨论】:
thx 但我需要一个解决方案,它设置当前接收区域设置通知的徽章编号 - 同时也是后台应用程序 @Ghost108 您写道:“两个不同的本地通知”。您是否可以访问这 2 个本地通知发件人? 为误会感到抱歉。两个内容不同的本地通知。但是firedate和时间是一样的 @Ghost108 应用程序在后台模式下无法跟踪通知计数。它必须从服务器完成。您只需从通知发件人代码中跟踪一个号码。你清楚吗? sry,我明白你的意思,但我不知道如何解决它。你能帮帮我吗?以上是关于本地通知徽章编号不超过一个的主要内容,如果未能解决你的问题,请参考以下文章