收到通知以后,怎样判断应用程序在前台还是后台?

应用程序不管在后台还是前台都会执行- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void
(^)(UIBackgroundFetchResult))completionHandler

                    那怎么在这个方法里判断应用程序在前台还是在后台呢?
阅读 24.3k
2 个回答

[UIApplication sharedApplication].applicationState == UIApplicationStateActive
这是在前台
UIApplicationStateBackground 这是在后台

在AppDelegate中有如下几个方法, 用一个flag标记是否是前台
- (void)applicationDidEnterBackground:(UIApplication *)application
{
//程序进入后台
flag = NO;
}

  • (void)applicationDidBecomeActive:(UIApplication *)application
    {
    //程序进入前台
    flag = YES;
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题