0

这真的是我昨晚在这里的“头脑风暴”: iPhone头脑风暴-后台CLLocation-每15分钟轮询一次

当我的应用程序处于活动状态时,我可以在获得正确读数后停止 CLLocationManager。然后在 performSelector afterDelay 之后我可以再次启动它,阅读并停止它。

如果当我有一个计时器运行时应用程序只是在后台运行,它永远不会重新启动 CLLocationManager。我已经注册了后台位置更新,如果我不停止 CLLocationManager 很好,但对于电池,我希望我可以继续启动/停止它。

请指教。

谢谢詹姆斯

4

2 回答 2

2

保存应用程序进入后台时的当前时间。

当它再次激活时:

  • 如果应用程序进入后台超过 15 分钟 - 启动 CLLocationServices
  • 如果 < 15 分钟过去了,则在计时器开始,剩余时间直到 CLLocationServices 需要启动。
于 2011-05-24T10:02:36.077 回答
1

阅读关于 Location in background 的 Apple 文档。定时器不能在后台使用。

如果您保持 CLLocationManager 以正确的设置运行,它只会在重大更改时调用位置更新,即用户在蜂窝塔/wi-fi 点之间移动时。

于 2011-05-24T10:04:15.580 回答