我想知道如何使用gps或网络提供商生成一个位置,而手机移动速度超过10米,这意味着你在家里,或者在同一个地方
我觉得minTime参数并不重要(当然,谈到requestLocationUpdates方法),minDistance是应该产生差异的。 我试着将值设置为100米,但是当我没有移动的时候我一直在寻找位置(可能是1米......在我睡觉时进行了测试)所以我不断提高值,我停在500米!因为它变得毫无用处。
也许有办法检查两个位置之间的距离?或者接收有关手机移动的信息?
答案 0 :(得分:1)
请记住,GPS精度大约为+/- 20米。由于环境条件的原因,加上可用卫星信号的可能波动,意味着即使对于固定设备,报告位置也会有一些变化。
minDistance
不适用于您的唯一原因是,如果它为您提供报告的位置小于您请求的最小距离的位置。 LocationManager
只能与报告的位置一起使用;没有其他方法可以确定设备是否真正在移动。
如果您检查LocationListener
中的数据,并且可以证明该设备忽略了minDistance
参数,请将错误报告给您的设备制造商。另一方面,如果问题是由于GPS子系统认为设备正在移动(因此位置相差超过minDistance
)而导致修复问题,那就是GPS和硬件的限制,以及你无能为力。