如何强制GPS提供商在Android中获得速度?

Pri*_*tam 5 gps android

我想在我的GPS应用程序的速度因素在Android.我想同时使用网络提供商和gps提供商来获取位置更新.但网络提供商很难提供速度.虽然GPS提供商提供多次修复.

  1. 但是,如果在没有速度的情况下找到修复,设备将不会请求新的更新,直到requestLocationUpdates中设置的间隔或距离发生变化?如果是这样,我怎么能强制继续它,直到我有速度.我找到了Criteria类,但我们只能在选择提供者时使用它.我想在获得修复时使用它.我可以吗 ?

  2. 我注意到的另一件事是有时我在开始时速度达到127米/秒,即使我稳定然后它也会正常化到实际速度.这是设备的问题(在G1中测试),还是一般取决于卫星或位置?

  3. 在选择提供者时使用Criteria,是否会提供不适合的位置点?就像我设置criteriaObj.setSpeedRequired(true)一样,如果没有这样的可用,我将不会获得积分.因为我在任何情况下都需要更新位置.

有什么建议 ?

Pri*_*tam 5

回答我的老问题..

  1. 要请求连续更新,您需要将最小距离和最小更新时间设置为零.但这会使设备电池耗电更快,但您确信您可以从GPS硬件中获得最佳效果并过滤掉您的条件.

  2. 这个127 m/s ^ 2确实是android中的一个bug.在查看了Google的mytracks GPS应用程序的代码之后,我发现它已被注意到并在其代码本身中过滤了127这个特殊情况!

  3. 是的,你不会得到没有速度的积分.