【问题标题】:Can't clean Notification Center without aps badge or badge = 0?没有aps徽章或徽章= 0就无法清理通知中心?
【发布时间】:2012-11-07 11:11:01
【问题描述】:

我向用户推送了一个没有徽章密钥或徽章 = 0 的通知有效负载,无法从通知中心删除通知。这是我的有效载荷:

{
     "aps" : {"alert" : "bala bala"}
//or "aps" : {"alert" : "bala bala", "badge" : 0}
}

然后从NC打开app,通知停留在NC,无法删除。如果我在aps中设置badge值大于0,应用启动后通知将被删除。

{
    "aps" : {"alert" : "bala bala", "badge" : 1}
}

已经在应用启动后设置[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

为什么没有徽章密钥或徽章= 0就不能删除通知?

谢谢。

【问题讨论】:

  • 你在使用本地通知吗???
  • 我正在使用本地通知删除所有通知 [[UIApplication sharedApplication] cancelAllLocalNotifications];
  • @SarafarazBabi 感谢您的评论,我正在使用远程推送通知。

标签: iphone ios apple-push-notifications


【解决方案1】:

我遇到了同样的问题。解决方案非常简单: 将徽章先设置为 1,然后设置为 0。这应该会清除 NC 中的通知。

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
// Now the notification should be cleared out of the NC

【讨论】:

    【解决方案2】:

    badge 为 0,表示“不变”。所以,你必须为徽章设置-1。

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:-1];
    

    【讨论】:

    • 有什么no change?连NC都删不掉?
    • 我不知道,为什么它不适合你。怎么实现的?,用的是什么功能?
    【解决方案3】:

    发件人:iOS 5 release notes

    • 应用的推送和本地通知出现在新的通知中 iOS 5 中的中心。通知中心显示的通知是 被视为“未读”。为了适应推送和本地通知, 没有未读状态,将您的应用程序的徽章计数设置为 0 从通知中心清除该应用的通知。

    所以解决方法是在应用打开时将应用徽章设置为0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-14
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多