如何在通知中心删除特定的远程通知
Posted
技术标签:
【中文标题】如何在通知中心删除特定的远程通知【英文标题】:How to remove specific remote notification in the notification center 【发布时间】:2014-12-21 17:02:43 【问题描述】:我们都知道[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
这个方法可以从通知中心删除我们应用程序的所有远程通知。但是,出于某种原因,我想删除用户在通知中心点击的那个,而留下其他的。
有什么方法可以做到吗?
【问题讨论】:
【参考方案1】:随着 ios 10 及更高版本的 UNUserNotificationCenter
的引入,现在可以删除应用程序的少数或全部远程通知。
UNUserNotificationCenter documentation
使用此类的共享单例实例,可以在设备上管理传递的远程通知。具体来说,可以使用以下方法:
func removeDeliveredNotifications(withIdentifiers: [String])
如果你想删除你的应用的特定通知,或者func removeAllDeliveredNotifications()
删除你应用的所有通知。
【讨论】:
【参考方案2】:如果您只是想从徽章号码中删除一个号码:
[UIApplication sharedApplication].applicationIconBadgeNumber = MAX([UIApplication sharedApplication].applicationIconBadgeNumber - 1, 0);
如果您询问如何以编程方式从通知中心删除单个通知,则无法在代码中完成。显然,在 iOS8 中,当用户点击它时,操作系统会删除一个通知。否则无法由您处理。
见:https://***.com/a/10569847/620577
【讨论】:
@Don_Chen 请将此标记为已回答,如果您认为这是答案,请点赞。 启动 iOS 10,这也是可能的。检查我的答案***.com/a/43942760/2020490以上是关于如何在通知中心删除特定的远程通知的主要内容,如果未能解决你的问题,请参考以下文章