将旧的推送通知从通知中心移除掉

不逐字翻译了,只是大体说一下。
看作者的意思,应该是他经常收到N多通知,而通过其中一条通知打开一个app以后,发现那个app的其它通知还在通知中心。作者不喜欢这样的情况。我以为 我也存在的这样的情况,马上检查了一下,发现没有。看来是少数app的问题。但是也记录一下。作者总结的从通知中心移除通知的三种方法:
1.将app的BadgeNumber设为0,就是app图标右上角那个

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];


2.如果BadgeNumber本身就是0的情况,可以先将其设1再设置成0

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

3.如果以上的办法都不好使的话,那就用本地通知欺骗一下。

UIApplication* application = [UIApplication sharedApplication];
NSArray* scheduledNotifications = [NSArray arrayWithArray:application.scheduledLocalNotifications];
application.scheduledLocalNotifications = scheduledNotifications;

就这么多了,我仔细想了一下,为什么我的应用从其中一条通知打开的时候,其它的通知消失掉:
因为我在程序启动的时候就执行了第一条:)

原文地址:https://www.cnblogs.com/ligun123/p/2545276.html