web-dev-qa-db-ja.com

クリック時に通知センターから通知を削除する

プッシュ通知がクリックされてアプリが起動したときに、通知センターからプッシュ通知を削除することはできますか?

ほとんどのアプリは通知をそのままにしておくようです。私はこれについて別の質問を読みました:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

うまくいくかもしれませんが、私にはうまくいきません。

Facebookアプリは、クリックするとプッシュ通知を確実に削除するようです。

15
Andy Davies
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

バッジ数を保持し、通知センターでクリックされたときにプッシュ通知をクリアします。

23
Andy Davies