我在Android中使用locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
。
如果我将最短时间设置为120000,距离设置为10000,如果用户在60000毫秒内移动了11000米,那么位置更改功能是否执行?
我想知道何时调用onLocationChanged()
函数。
也许像这样:
如果时间= 120000并且距离= 10000,则执行(...)
要么:
或时间= 120000或距离= 10000然后执行(...)
最佳答案
minTime用于获取更新(这就是为什么他们建议您将其设置为60000ms以上的原因)
后台服务在设置足够高的minTime时应格外小心,以使设备始终保持GPS或无线电的开启状态,从而不会消耗太多功率。特别是,建议不要使用60000ms以下的值。
实际的处理程序也会在以下任一情况下被调用
自上次更新以来,minTime已过去
从最近一次更新以来,LocationProvider的移动量大于minDistance
minTime存在的原因是后台应用程序不会耗尽所有电池。
LocationManager Reference