GPS定位始终返回零速度

3
我有段代码可以成功获取多个提供者的位置更新,并对它们进行过滤以提供当前最佳估计值。
我添加了一些代码来检查返回的Location.hasSpeed()和.hasBearing()值,以便在用户实际移动时进行一些与方位相关的计算。
在运行2.3.3版本的华为Sonic上,所有代码都能够正常工作。但是在运行4.0.4版本的Google Nexus S上,GPS提供程序的Location总是返回.hasSpeed()为false并且.getSpeed()返回0。
当我注册我的位置监听器时,GPS提供程序返回.supportsSpeed()为true,但即使准确度降至30m,并且物理上正在移动(在车内,放在仪表板上以获得最大的信号接收力),屏幕也开着,它也从来没有在Location中返回速度。
2.3.x到ICS 4.x之间有什么区别吗? 即使提供程序报告支持,我是否必须实现自己的速度计算?

我在运行Android 4.1.1的Nexus S上接收当前位置时遇到了问题。相同的代码在运行Android 4.0.4的Samsung Galaxy Nexus和Samsung Galaxy S3上工作正常。似乎Nexus S设备存在一些GPS问题。 - Klaasvaak
1个回答

0

Google Nexus S有GPS问题的历史。我不认为这与ICS有特定关系。您尝试过恢复出厂设置然后重试吗?


还没有,但即使那样能行,这也不是一个好的结果。我是否建议我的用户在安装我的软件之前重置他们的手机,如果他们使用的是Nexus S?谢谢你的建议。 - user1230223
@user1230223 当然不会,但你不觉得了解它是如何工作的更好吗? - ABH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接