我要得到我的坐标的每一分钟,即使用户不动。所以我用requestLocationUpdates以下参数:
I want to get my coordinates every minute, even if a user is not moving. So i used requestLocationUpdates with the following parameters:
locMgr.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
60000, // minTime in ms
0, // minDistance in meters
PosljiLokacijo.this);
但是当我测试它在我的HTC Hero(安卓2.1),我不动,onLocationChanged()不会被调用。如果我改变minDistance依旧为1,那么我得到一些更新的开始,但在那之后,他们在非常不规则的时间间隔。
But when i test it on my HTC Hero (2.1 Android) and i am not moving, onLocationChanged() is never called. If i change minDistance to 1, then i get a few updates at start but after that, they come in very unregular intervals.
我应该如何选择这两个参数(minTime和minDistance依旧)接收坐标每一分钟?
How should i choose these 2 parameters (minTime and minDistance) to receive coordinates every minute?
我不认为minTime或minDistance依旧将有助于在这种情况下,除非:保存的最后位置为变量,其输出的每一分钟。让locationManager覆盖这些变量所以一分钟后,位置变化变得可见。这样,就没有必要等待更新为你的变量总是抱着的实际位置。
I don't think "minTime" or "minDistance" will help in this case, unless: save the last location into variables and output them every minute. Let the locationManager overwrite those variables so after a minute, the location change becomes visible. That way there's no need to wait for an update as your variables always hold the actual position.
您还可以检索来自locationManager位置和一分钟(或任何你想要的间隔定)后,再次要求的位置,而无需使用 requestLocationUpdates
。
You can also retrieve the location from the locationManager and request the location again after one minute (or whatever you'd like your interval to be) without using requestLocationUpdates
.
例如。看看在定时器
来设置你的方法,获取位置重复呼叫:
http://developer.android.com/reference/java/util/Timer.html
e.g. take a look at the Timer
to set a repeated call to your method that gets the location:
http://developer.android.com/reference/java/util/Timer.html
这样,你也应该保存电池,系统将无法寻找更新所有的时间。
That way you should also save battery as the system won't be looking for updates all the time.