我在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

10-08 19:26