应用程序进入后台时如何stopupdatingLocation(ios 6)

时间:2013-02-09 09:27:02

标签: ios

我在许多视图控制器中实例化了locationManager。为了节省电量,我想阻止位置管理器更新位置,所以我想在我的VC中调用viewDidUnload中的stopUpdatingLocation但是在ios6中不推荐使用viewDidUnload。是否有一种干净的方式让我停止所有更新位置?

谢谢! 的Cuong

3 个答案:

答案 0 :(得分:1)

您可以使用UIApplicationDelegate方法:

- (void)applicationWillResignActive:(UIApplication *)application

在此方法中,您可以调用stopUpdatingLocation。

答案 1 :(得分:1)

停止更新

中的位置
   - (void)applicationDidEnterBackground:(UIApplication *)application
   {
    //stop updating Location

      }

答案 2 :(得分:0)

之前的回答建议从stopUpdatingLocation拨打applicationWillResignActive。更好的解决方案是从applicationDidEnterBackground拨打电话。

我发现从stopUpdatingLocation调用applicationWillResignActive会导致警告,要求用户在用户可以点击任何内容之前立即使用该位置的权限消失。

发生这种情况是因为出现权限对话框时会调用applicationWillResignActive。这将在stopUpdatingLocation之后立即调用startUpdatingLocation,导致对话框立即消失。