2012-04-26 162 views
3

我有成功从多个提供商获取位置更新的代码,并对它们进行过滤以提供当前最佳估计。GPS位置总是返回零速度

我添加了代码来检查返回的Location.hasSpeed()和.hasBearing()值,以便在用户实际移动时进行与轴承相关的计算。

这一切工作正常运行2.3.3华为音速,但在谷歌Nexus S运行4.0.4的GPS提供的位置总是返回false为.hasSpeed()和0 .getSpeed()。

当我注册我的位置监听器时,GPS提供商对.supportsSpeed()返回true,但即使精度下降到30米,它也不会返回位置的速度,并且它正在物理移动(在汽车中,在最大接收的仪表板,屏幕)。

从2.3.x到ICS 4.x有一些不同吗? 即使提供商报告支持,我是否还必须执行自己的速度计算?

+0

我在运行Android 4.1.1的Nexus S上接收当前位置时遇到问题 运行Android 4.0.4的三星Galaxy Nexus和运行Android 4.0.4的三星Galaxy S3上的相同代码工作正常 似乎存在一些Nexus S设备上的GPS问题。 – Klaasvaak 2012-07-31 13:19:38

回答

0

谷歌Nexus S有GPS问题的历史。我不认为它与ICS特别相关。您是否尝试过工厂数据重置手机然后重试?

+0

还没有,但即使这样做并不是一个好的结果,我是否建议我的用户在安装软件前重置手机,如果他们有Nexus S? (还是)感谢你的建议。 – user1230223 2012-04-26 05:43:36

+0

@ user1230223当然不是,但是你不认为最好知道它是否能够像这样工作吗? – ABH 2012-04-26 06:07:46