【发布时间】:2014-04-03 09:12:57
【问题描述】:
我尝试每 10 分钟获取一次位置更新,但位置更新时间不一致。有时我会在 10 分钟后获得位置更新,有时我会在 2 小时后获得位置更新。应用在后台线程上获取位置更新。
代码如下:
_locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
10 * 60 * 1000,
0,
_locationListener,
_gpsHandlerThread.getLooper());
我还尝试设置 minTime(10) 和 minDistance(10 米) 这两个值,但即使在 1-2 分钟后我也会收到更新。我不确定 minTime 和 minDistance 是否具有 OR 逻辑,即时间间隔是否为 10 分钟或用户已移动 10 米或具有逻辑。
我的要求是 - 如果用户距离上一个位置 10 米,则每 10 分钟获取一次用户位置。
我怎样才能做到这一点?我寻求帮助,但几乎没有解释它是如何工作的。
【问题讨论】:
-
如果您使用的是
LocationManager.GPS_PROVIDER,则可能需要长达 20 分钟才能从卫星上获得第一个修复 - 更不用说您需要清晰的天空视野,如果您正在室内的。另一方面,LocationManager.NETWORK_PROVIDER可以在您的设备连接到无线网络后立即为您提供位置更新 - 缺点是这种方法不如您使用的 GPS 方法准确。
标签: android geolocation location