15

单击通知中心并启动应用程序时,是否可以删除通知中心的推送通知?通过点击从通知中心删除通知

大多数应用程序似乎都将通知留在原地。我读到另一个问题:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

可能工作,但它不适用于我。

Facebook应用程序绝对似乎删除一旦点击推送通知。

+0

ipad有什么特殊之处吗? – 2012-12-12 20:13:03

+0

嗨!任何解决方案?谢谢! – Frade

回答

23
int badgeCount = [UIApplication sharedApplication].applicationIconBadgeNumber; 
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
[[UIApplication sharedApplication] cancelAllLocalNotifications]; 
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeCount]; 

如果您添加到既

- (void)applicationWillEnterForeground:(UIApplication *)application 

而且

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions 

您将保留徽章计数,并清除推送通知被点击的通知中心时。

+16

如果我只想删除用户点击的通知而不是通知中心的所有通知,该怎么办? –

+1

根据这个:http://stackoverflow.com/questions/9925854/remove-single-remote-notification-from-notification-center你不能。 –

+1

@AlaaNassef当然可以, [[UIApplication sharedApplication] cancelLocalNotification:yournotification]; – Yiding