检查iOS应用程序是否在后台
我想检查应用程序是否在后台运行。
在:
locationManagerDidUpdateLocation { if(app is runing in background){ do this } }
应用程序委托获取指示状态转换的callback。 你可以根据它来跟踪它。
另外UIApplication中的applicationState属性返回当前状态。
[[UIApplication sharedApplication] applicationState]
UIApplicationState state = [[UIApplication sharedApplication] applicationState]; if (state == UIApplicationStateBackground || state == UIApplicationStateInactive) { //Do checking here. }
这可能会帮助你解决你的问题。
Swift版本:
let state = UIApplication.sharedApplication().applicationState if state == .Background { print("App in Background") }
Swift 3
let state = UIApplication.shared.applicationState if state == .background { print("App in Background") }
如果您更喜欢接收callback,而不是“询问”应用程序状态,请在AppDelegate
使用这两种方法:
- (void)applicationDidBecomeActive:(UIApplication *)application { NSLog(@"app is actvie now"); } - (void)applicationWillResignActive:(UIApplication *)application { NSLog(@"app is not actvie now"); }
- 实施copyWithZone时的最佳做法:
- closures通过模态显示的视图
- 电子邮件validation在iPhone SDK中的textField
- 检测是否应用:didReceiveRemoteNotification:fetchCompletionHandler:通过点击Notification Center中的通知来调用
- 是否有书面的方式来设置iPhone的方向?
- UICollectionView标题不显示
- Objective C – 如何使用initWithCoder方法?
- UIImageresize无法正常工作
- 如何在iOS 6中正确使用ABAddressBookCreateWithOptions方法?