我的代码可以成功地从多个提供商处获取位置更新,并过滤它们以提供当前最佳估算值。
我添加了代码来检查返回的Location.hasSpeed()和.hasBearing()值,以便在用户实际移动时进行一些与轴承相关的计算。
运行2.3.3的华为Sonic一切正常,但在运行4.0.4的谷歌Nexus S上,GPS提供商的位置总是为.hasSpeed()返回false,为.getSpeed返回0 ()。
当我注册我的位置监听器时,GPS提供商为.supportsSpeed()返回true,但即使精度低至30米并且物理移动(在汽车中,在仪表板上)它也永远不会返回位置的速度最大接收,屏幕上)。
从2.3.x到ICS 4.x有什么不同吗? 即使提供商报告支持,我是否必须实施自己的速度计算?
答案 0 :(得分:0)
谷歌Nexus S有GPS问题的历史。我不认为它与ICS有特殊关系。您是否尝试过恢复出厂设置数据,然后重试?