我需要使用requestLocationUpdates()来获取某个指定距离或特定距离时的位置更新。
我需要仅根据距离更新,而不是基于时间。
请建议......
答案 0 :(得分:5)
The documentation has a good answer.
public void requestLocationUpdates(String provider,long minTime, float minDistance,LocationListener listener)
如果minDistance大于0,则只会广播一个位置 如果设备移动minDistance米。获取通知为 尽可能经常将两个参数都设置为0。
位置更改将由在OnLocationChange()
注册的LocationListener
调用的requestLocationUpdates()
检测到。
答案 1 :(得分:0)
要忽略位置请求之间的时间延迟,只需将其指定为0.这样就是0秒延迟,这实际上意味着没有延迟。
LocationManager yourLoc = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
yourLoc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, onLocationChange);
以上示例每隔1米更改一次。
答案 2 :(得分:0)
尝试将minTime参数设置为java中的Integer或float的最大值,这样它将在minTime之前被minDistance调用