iPhone头脑风暴 - 背景中的CLLocation - 每15分钟轮询一次

时间:2011-05-23 15:45:41

标签: iphone objective-c cllocationmanager cllocation

以下是该方案。我需要一个应用程序,无论是在后台还是前台,每15分钟轮询一次具有用户位置的Web服务。

目前我:

  1. 启动/重启位置管理器,精度最高,距离过滤器无。
  2. 等待达到理想的准确度。
  3. 商店阅读
  4. setDesiredAccuracy为:“kCLLocationAccuracyThreeKilometers”
  5. setDistanceFilter为:1000
  6. 设置performSelector:@selector(getLocation)withObject:nil afterDelay:900
  7. 从第1步开始。
  8. 我希望这是最节省电量的方法,并希望看到哪些'堆叠器能够考虑上面的选项以及你们是否还有其他任何建议。

    由于 詹姆士。

3 个答案:

答案 0 :(得分:2)

如果您不是针对iOS 3,请考虑使用“重大更改”API,它应该是此类方案中效率最高的。

答案 1 :(得分:1)

为什么不注册应用程序以进行重大位置更改并使用它?有很多应用程序(包括我的一些应用程序),它非常适合电池使用。事实上,除非手机接收到手机信号塔,否则不会发生任何事情。如果手机在某个地方待了好几个小时,那就没有电池的影响。在您的方法中,整个CL框架和GPS硬件必须每15分钟启动一次。

答案 2 :(得分:0)

最后,我得到了一个应用程序,每15分钟在performSelector上启动/停止位置管理器:WithDelay。

基本上当CLLocationManager提供所需精度的读数时,我将CLLocation降低到显着变化,然后将应用程序设置为在15分钟后再读取一次,将精度更改为最高设置之一并重复。

希望这有助于将来的任何人。 谢谢 詹姆斯