Remove push from notificationcenter after app has

2020-07-21 03:08发布

问题:

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).