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 );

bestProvider 又是 GPS 提供商,但我收到了速度值。为什么?LocationManager.GPS_PROVIDER 和 mLLocationManager.getBestProvider(criteria, true) 有什么区别;当两者都通过检查显示他们使用 GPS 提供商时:

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

2 回答 2

1

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

于 2013-04-13T14:57:19.183 回答
0

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

于 2013-04-13T15:01:36.237 回答