我们如何实用主动方法在应用启动时从通知中心删除所有待处理的远程通知。我想在应用启动时清除这些通知。
我尝试使用[[UIApplication sharedApplication] cancelAllLocalNotifications];
API,但未起到作用。
注:此问题特定于iOS 10,旧线程不是此问题的副本。
我们如何实用主动方法在应用启动时从通知中心删除所有待处理的远程通知。我想在应用启动时清除这些通知。
我尝试使用[[UIApplication sharedApplication] cancelAllLocalNotifications];
API,但未起到作用。
注:此问题特定于iOS 10,旧线程不是此问题的副本。
最后...
这个像魔法一样好用!
[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications];
使用UserNotifications.framework中提供的removeDeliveredNotifications(withIdentifiers:)方法,可以轻松实现此目标。
如需详细教程,请参阅此链接。
https://medium.com/@sebastianosiski/implementing-removable-remote-notifications-on-ios-a17d74832bde
您可以使用以下简单的代码行从通知中心清除所有通知
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
可以在任何地方使用。我在用户注销时使用过。 你可以在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
应用程序打开后清除通知的方法
重置应用程序徽章数字也会从通知中心中删除所有通知(本地和远程)。
Objective C
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
Swift
UIApplication.shared.applicationIconBadgeNumber = 0