Очистить Push-уведомления из центра уведомлений после выбора одного
Я хочу очистить все push-уведомления моего приложения, как только пользователь выберет одно из push-уведомлений.
Я видел другие темы здесь, которые говорят, что это невозможно в iOS.
но у меня есть одно приложение, загруженное из магазина приложений, что делает то же самое.
Ответы
Ответ 1
Если это локальное уведомление, то для удаления значка значка вы должны сделать это следующим образом:
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.applicationIconBadgeNumber = 1;
Если это push-уведомление, вы можете сделать это с помощью кода, написанного ниже
[UIApplication sharedApplication].applicationIconBadgeNumber=0;
Вы можете вызвать эти методы в любом месте. Например, если вы хотите очистить уведомление в момент запуска приложения, напишите его в
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
если ваше приложение не использует номер значка, который вы должны сначала установить, затем reset удалить его из центра уведомлений.
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
Ответ 2
Все, что вам нужно сделать, это
application.applicationIconBadgeNumber = 0;
в
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
.
ИЗМЕНИТЬ
Если вы не закрываете приложение, а просто отправляете его на задний план. Затем добавьте это в свою нижнюю функцию.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
if ( application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground )
{
//opened from a push notification when the app was on background
application.applicationIconBadgeNumber = 0;
}
}