【问题标题】:How to remove specific remote notification in the notification center如何在通知中心删除特定的远程通知
【发布时间】:2014-12-21 17:02:43
【问题描述】:

我们都知道[UIApplication sharedApplication].applicationIconBadgeNumber = 0;这个方法可以从通知中心删除我们应用程序的所有远程通知。但是,出于某种原因,我想删除用户在通知中心点击的那个,而留下其他的。

有什么方法可以做到吗?

【问题讨论】:

    标签: ios apple-push-notifications


    【解决方案1】:

    随着 iOS 10 及更高版本的 UNUserNotificationCenter 的引入,现在可以删除应用程序的少数或全部远程通知。

    UNUserNotificationCenter documentation

    使用此类的共享单例实例,可以在设备上管理传递的远程通知。具体来说,可以使用以下方法: func removeDeliveredNotifications(withIdentifiers: [String])如果你想删除你的应用的特定通知,或者func removeAllDeliveredNotifications()删除你应用的所有通知。

    【讨论】:

      【解决方案2】:

      如果您只是想从徽章号码中删除一个号码:

      [UIApplication sharedApplication].applicationIconBadgeNumber = MAX([UIApplication sharedApplication].applicationIconBadgeNumber - 1, 0);

      如果您询问如何以编程方式从通知中心删除单个通知,则无法在代码中完成。显然,在 iOS8 中,当用户点击它时,操作系统会删除一个通知。否则无法由您处理。

      见:https://stackoverflow.com/a/10569847/620577

      【讨论】:

      猜你喜欢
      • 2018-08-07
      • 1970-01-01
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多