2

对于静默推送通知,我已经实现了这个方法:

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler
        {
            if([userInfo[@"aps"][@"content-available"] intValue]== 1) //it's the silent notification
            {

                UIApplicationState state = [[UIApplication sharedApplication] applicationState];
    // CASE - 1  
 if (state == UIApplicationStateBackground ) 
                {

                    //Badge increment
                }
    // CASE -2 for foreground 
 else  {


                    //Badge increment
                }

                handler(UIBackgroundFetchResultNewData);
                return;
            }

两种情况

1)我想在用户点击通知时减少徽章数量。(应用程序进入前台)

2)当通知到达时(应用程序在前台),在徽章中不采取任何行动。

但对于这两种情况,执行相同的代码。并且徽章递减发生。(评论为案例 - 2)。

如何根据这些场景行事。

4

0 回答 0