我需要使用requestLocationUpdates()来获取位置更新,当一些指定的距离旅行或一些特定的距离。
我需要这个更新的距离基础上,而不是时间基础上。
请建议…
文档给出了一个很好的答案。
公共无效requestLocationUpdates(字符串提供商,长minTime,浮动minDistance, LocationListener(监听器)
如果minDistance大于0,则只广播位置如果设备以minDistance计移动。获取通知尽可能频繁地将两个参数都设置为0。
位置变化将被注册在requestLocationUpdates()
的LocationListener
调用的OnLocationChange()
检测。
要忽略位置请求之间的时间延迟,只需将其指定为0。这种方式是0秒延迟,这意味着没有延迟。
LocationManager yourLoc = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
yourLoc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, onLocationChange);
上面的例子每隔1米改变一次。
尝试将minTime参数设置为java中整数或浮点数的最大值,这样它将在minTime之前被minDistance调用