如何在Android中每分钟获得gps坐标?

我希望每分钟都能得到我的坐标,即使用户没有移动。 所以我使用requestLocationUpdates和以下参数:

locMgr.requestLocationUpdates( LocationManager.GPS_PROVIDER, 60000, // minTime in ms 0, // minDistance in meters PosljiLokacijo.this); 

但是当我在我的HTC Hero(2.1 Android)上测试它并且我没有移动时,onLocationChanged()从未被调用。 如果我将minDistance更改为1,那么我会在开始时获得一些更新但在此之后,它们会以非常不规则的间隔进行。

我应该如何选择这两个参数(minTime和minDistance)来每分钟接收坐标?

在这种情况下,我不认为“minTime”或“minDistance”会有所帮助,除非:将最后一个位置保存到变量中并每分钟输出一次。 让locationManager覆盖这些变量,一分钟后,位置变化变得可见。 这样就不需要等待更新,因为变量总是保持实际位置。

您还可以从locationManager检索位置,并在一分钟后(或您希望您的间隔时间)再次请求位置,而无需使用requestLocationUpdates

例如,看一下Timer ,设置对获取位置的方法的重复调用:
http://developer.android.com/reference/java/util/Timer.html

这样你也应该节省电池,因为系统不会一直在寻找更新。

根据文件:

minTime通知的最小时间间隔,以毫秒为单位。 此字段仅用作节省电量的提示,位置更新之间的实际时间可能大于或小于此值。

我看到做你想做的唯一方法是将minTime设置为0并抛出过于频繁的值。 您仍然无法保证您可以随时获得更新,并为您的应用做好电池杀手的准备。