问题
When I send out a PUSH notification to my app, it stays in the notification center in iOS 5. How can I remove the notification from the notification center from within the app?
回答1:
Clearing the badge clears the notifications from the notification center.
- (void)applicationDidBecomeActive:(UIApplication *)application {
// Clear application badge when app launches
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
This only works if the number changes. So to make it work in case badge is already zero, set it to some value and clear it again after a delay.
- (void)applicationWillEnterForeground:(UIApplication *)application {
if([[UIApplication sharedApplication] applicationIconBadgeNumber] == 0)
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
// Clear application badge when app launches
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}
Doesn't work if you set and clear in the same method.
回答2:
It is not possible to remove the notification from the notification center from within the app because in iOS5, notifications properties are displayed by apps, in :
Settings -> Notifications -> The app -> Notification Center (YES/NO).
来源:https://stackoverflow.com/questions/8064021/remove-push-from-notificationcenter-after-app-has-been-opened