安卓GPS速度

3

我有一个关于android.location.Location.getSpeed()的问题。 我已经实现了我的LocationListener并指定其使用GPS提供程序。这样,getSpeed()始终为0.0。我已经了解了这个问题。现在,当我设置标准并指定

criteria.setSpeedRequired( true );

并且往下

String bestProvider = mLocationManager.getBestProvider( criteria, true );
mLocationManager.requestLocationUpdates( bestProvider, mIntervaltime, mDistance, locationListener );

最优提供者仍然是GPS提供者,但我收到了速度值。为什么会这样?当LocationManager.GPS_PROVIDER和mLocationManager.getBestProvider(criteria, true)都检查使用GPS提供者时,它们之间有什么区别?

Log.i( TAG, "  Provider: " + location.getProvider() );

愚蠢的安卓设计。每个GPS芯片都提供速度数据。唯一有意义的情况是当手机用户可以禁止设备记录速度值时。 - AlexWien
2个回答

1
也许我误解了问题,但是您必须移动才能使GPS报告大于零的速度值。

0

我认为记录和处理速度会有一定的开销。而且由于并不总是需要知道速度,因此即使提供者相同,将启用变成可选项也是有意义的。


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