0

我已经在我的许多视图控制器中实例化了 locationManager。为了节省电池,我想阻止 locationmanager 更新位置,所以我想在我的 VC 中调用 viewDidUnload 内的 stopUpdatingLocation,但在 ios6 中不推荐使用 viewDidUnload。有没有一种干净的方法可以让我停止所有更新位置?

谢谢!强

4

3 回答 3

1

您可以使用 UIApplicationDelegate 方法:

- (void)applicationWillResignActive:(UIApplication *)application

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

于 2013-02-09T09:35:00.767 回答
1

停止更新位置

   - (void)applicationDidEnterBackground:(UIApplication *)application
   {
    //stop updating Location

      }
于 2013-02-09T09:53:19.447 回答
0

较早的答案建议stopUpdatingLocationapplicationWillResignActive. 更好的解决方案是改为拨打电话applicationDidEnterBackground

我发现调用stopUpdatingLocationfromapplicationWillResignActive会导致询问用户是否允许使用该位置的警报在用户可以点击任何内容之前立即消失。

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

于 2013-09-12T06:43:11.623 回答