locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,30000,100, new GeoUpdateHandler()
);
地图每隔 30 秒就会刷新一次。
假设我在同一个位置超过 2 分钟,那么地图会刷新 4 次以上;我不希望它发生。
谁能建议我提供时间为空?
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,30000,100, new GeoUpdateHandler()
);
地图每隔 30 秒就会刷新一次。
假设我在同一个位置超过 2 分钟,那么地图会刷新 4 次以上;我不希望它发生。
谁能建议我提供时间为空?
SDK 文档上LocationManager.requestLocationUpdates()
有关于如何利用minTime
和minDistance
参数来调整您所在位置的更新频率的答案:
可以使用 minTime 和 minDistance 参数控制通知的频率。如果 minTime 大于 0,LocationManager 可能会在位置更新之间休息 minTime 毫秒以节省电力。如果 minDistance 大于 0,则仅当设备移动 minDistance 米时才会广播位置。要尽可能频繁地获取通知,请将两个参数都设置为 0。
基本上,您将获得 30 秒的更新,因为您已将 minTime 设置为 30000。您可以考虑将此值设置为 0 并将 minDistance 的值增加到大于 100 以获得更类似于用户实际移动很长距离时的位置更新.
希望有帮助。
最小时间和最小距离值可以防止这种情况发生。
对于您的示例代码,除非用户从上次更新移动了 100 多米,否则不应触发该事件。这就是minDistance
物业的意义所在。
http://developer.android.com/reference/android/location/LocationManager.html