我将新的LocationClient实现到我的应用程序中,但是在进行测试运行时我注意到读数不正确。
我没有GPS在外面开车。 WLAN上。因此,位置准确性只能是以前的网络。
我将LocationClient设置为LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY;
并将间隔更新为15秒。
获取数据后,我使用getAccuracy()
和getTime()
评估位置。这两个值都不可信任。
我的准确度为25到50米,有时高达100米,这对于WIFI位置来说是典型的。但是,一旦我离开家,报告的位置(使用getAccuray()< 100)与我当前的位置没有多大关系(实际精度> 800m)。它最像是蜂窝塔的位置。位置从未在我旅行的那个小时内更新,因此总是指向同一个牢房塔(我总是在那个区域,虽然旅行了大约3公里)。
进行进一步的测试我发现在关闭wifi后至少一分钟内位置和准确度没有变化。我在走路,所以应该触发加速器。同样,位置远离我的位置,但准确性仍然报告< 30米。大约1-2分钟后,报告的位置准确度> 800米,这是正确的。
我的准确度很差,但我需要知道。
当实际读数较旧时,时间总是更新到最新时间。这似乎也是一个错误,有人已经在google上提出了一个问题。
总结它意味着我无法使用该功能。我将旧读数报告为当前和准确度与读数不符。
测试在Nexus 4上完成的操作。手机连接到UMTS(3G)小区。
这些已知问题吗?有没有办法解决它(获得正确的准确性),还是我必须使用“旧”LocationManager
?