UIApplicationStateInactive

UIApplicationStateInactive

我需要您的帮助来阐明我对应用程序各种状态的理解。我将陈述我的解释-但请随时纠正我。

1)应用启动并在前台运行:state = UIApplicationStateActive
2)用户按下主页按钮:state = UIApplicationStateBackground(????)。

 Debug stmt in my app shows it to be Active


3)用户双击主页并杀死该应用程序:state = UIApplicationStateInactive

如果案例2的值确实为Active,那么该值何时设置为Background?

我的基于位置的应用程序依靠此值为用户采取适当的操作。

if ( ([UIApplication sharedApplication].applicationState == UIApplicationStateBackground) ||
    ([UIApplication sharedApplication].applicationState == UIApplicationStateInactive)      ) {
    // isInBackground = YES;
    //  ------ UI not available
}
else {
   // isInBackground = NO;
   //   ------ UI is available
}


问候,
山姆

最佳答案

当用户点击应用程序图标时,该应用程序在进入UIApplicationStateActive的途中会短暂经历UIApplicationStateInactive的过渡状态。这是应用程序随时准备向用户显示的地方。

打开应用程序后,应用程序状态为UIApplicationStateActive。

如果用户按下主屏幕按钮,并返回到跳板(主屏幕),或者应用程序因诸如电话之类的事情而中断,则应用程序状态将转换回UIApplicationStateInactive。

为了使您的应用程序的状态变为UIApplicationStateBackground,您的应用程序必须注册一个后台进程。研究如何使您的位置服务后台化。

08-06 05:25