iPhone - 在后台模式下停用CLLocationManager事件

时间:2011-09-17 21:33:24

标签: ios events background location multitasking

我有一个使用CLLocationManager接收位置和标题更新的应用。当应用程序发送到后台模式时,CLLocationManager仍然会收到事件(当应用程序不在屏幕上时,在调试器中捕获)。

我是否有必要捕获“发送到后台”事件并使用BOOL退出事件委托方法以忘记这些更新,或者停止/重新启动CLLocationManager?

还是有其他解决办法在后台停止接收这些事件吗?

我想防止这种做法不做无用的行动,并可能减少电池,因为我不需要这些事件。

我知道有一个project.plist参数设置为强制iOS继续向应用程序发送位置事件,即使它在后台也是如此。我没有设置该参数。所以我想有一种方法可以告诉iOS我在背景中不想要那些事件......

1 个答案:

答案 0 :(得分:0)

使用UIApplicationDelegate的下一个方法:

-(void)applicationDidBecomeActive:(UIApplicetion*)application;
-(void)applicationWillResignActive:(UIApplicetion*)application;
-(void)applicationDidEnterBackground:(UIApplicetion*)application;
-(void)applicationWillEnterForeground:(UIApplicetion*)application;