繁体   English   中英

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

[英]How to get gps coordinates every minute in Android?

我希望每分钟都能得到我的坐标,即使用户没有移动。 所以我使用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通知的最小时间间隔,以毫秒为单位。 此字段仅用作节省电量的提示,位置更新之间的实际时间可能大于或小于此值。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM