我对此参数感到困惑
locationManager.requestLocationUpdates(provider,
60000,
10,
listener);
所以这是它如何执行location update listener
。
if time = 60000 AND distance = 10
然后它将执行或
if time = 60000 OR distance = 10
然后它将执行。
请帮我解决这个困惑。
答案 0 :(得分:7)
根据the docs:
位置更新之间经过的时间永远不会少于
minTime
所以minTime
优先。进一步说:
minDistance参数还可用于控制位置更新的频率。如果它大于0,那么位置提供者只会在位置至少改变minDistance米时向您的应用程序发送更新,并且至少已经过了minTime毫秒
所以它应该是if(time >= minTime AND dist >= minDistance)
,意思是如果太早就不会检查距离。但是不要过于严肃地对待这些参数before JellyBeans。
答案 1 :(得分:-1)
根据我的理解,它应该是OR
。请阅读this blog了解详情。
请记住,GPS本身的精确度为10到50米。
答案 2 :(得分:-1)
在该方法中,第二参数60000以毫秒为单位显示更新位置的时间,因此60000表示60秒(60 * 1000)。 '要么' 第三个参数是距离(更新位置的最小距离间隔),在你的情况下是10-mete
我希望这是有帮助的。