我的代码可以成功地从多个供应商那里获取位置更新并过滤它们以给出当前的最佳估计。
我添加了代码来检查返回的 Location.hasSpeed() 和 .hasBearing() 值,以便在用户实际移动时进行一些方位相关的计算。
在运行 2.3.3 的华为 Sonic 上一切正常,但在运行 4.0.4 的 Google Nexus S 上,GPS 提供商的位置总是为 .hasSpeed() 返回 false,为 .getSpeed 返回 0 ().
当我注册我的位置监听器时,GPS 提供程序为 .supportsSpeed() 返回 true 但它永远不会返回位置中的速度,即使精度低至 30 米并且它在物理上移动(在汽车中,在仪表板上)为获得最大接收效果,请打开屏幕)。
从 2.3.x 到 ICS 4.x 有什么不同吗? 即使提供商报告支持,我是否也必须实现自己的速度计算?
最佳答案
Google Nexus S 有 GPS 问题的历史。我认为它与 ICS 没有特别的关系。您是否尝试过将手机恢复出厂设置然后重试?
关于android - GPS 定位始终返回零速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10327548/