【问题标题】: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?我如何查看一天的通知数量?

标签: swift notifications numbers locale badge


【解决方案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,我明白你的意思,但我不知道如何解决它。你能帮帮我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多