我有段代码可以成功获取多个提供者的位置更新,并对它们进行过滤以提供当前最佳估计值。
我添加了一些代码来检查返回的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之间有什么区别吗? 即使提供程序报告支持,我是否必须实现自己的速度计算?
我添加了一些代码来检查返回的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之间有什么区别吗? 即使提供程序报告支持,我是否必须实现自己的速度计算?