http://blog.cnrainbird.com/index.php/2012/03/23/jiang_jiu_de_tui_song_tong_zhi_cong_tong_zhi_zhong_xin_yi_chu_diao/
翻譯:http://www.joshsunshine.me.uk/2012/02/29/ios-development-remove-old-notifications-from-notification-center.html
不逐字翻譯了,只是大體說一下。
看作者的意思,應該是他經常收到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;
就這麼多了,我仔細想了一下,為什麼我的應用程式從其中一條通知開啟的時候,其它的通知消失掉:
因為我在程式啟動的時候就執行了第一條:)