requestForLocationupdd在Android中阻止调用吗?

时间:2011-08-16 12:03:48

标签: android location updates

我希望每5分钟更新一次该位置,直到应用程序的生命周期。我知道如何更新位置。我想知道的是requestForLocation是否是阻塞调用。

我可以在Service类中执行此操作,但Service仅在主线程上运行,并且系统可以随时停止Service。我不希望这种情况发生。位置更新应该有效,直到应用程序在内存中。如果应用程序本身被杀死,那么服务器显然也会被杀死。

实施此方法的方法应该是什么?

1 个答案:

答案 0 :(得分:2)

  

我想知道的是requestForLocation是否是阻塞调用。

Android中没有名为requestForLocation()requestForLocationUpdates()的方法。如果您的意思是requestLocationUpdates(),则这不是阻止通话。

  

我不希望这种情况发生。

用户和操作系统有权随时终止您的服务。在这种情况下,这是一件好事,因为你提出的计划浪费了RAM,没有任何好处。

  

实施此方法的方法应该是什么?

使用AlarmManager和类似于我的LocationPoller的服务,这样您就可以获取您的位置数据,对其执行某些操作,然后关闭直到下一个时段到来。

另外,请允许您的用户配置轮询周期,包括“不轮询”选项。