我对android.location.Location.getSpeed()有疑问。 我已经实现了我的LocationListener并指定了它的提供者来使用GPS。这样getSpeed()总是0.0。我已经读过这个,没问题。现在,当我设置Criteria并指定
时criteria.setSpeedRequired( true );
并进一步向下
String bestProvider = mLocationManager.getBestProvider( criteria, true );
mLocationManager.requestLocationUpdates( bestProvider, mIntervaltime, mDistance, locationListener );
bestProvider再次成为GPS提供商,但我收到速度值。为什么? LocationManager.GPS_PROVIDER和mLocationManager.getBestProvider(criteria,true)之间有什么区别;当两人都通过检查显示他们使用GPS提供商时:
Log.i( TAG, " Provider: " + location.getProvider() );
答案 0 :(得分:1)
也许我误解了这个问题,但你必须要让GPS报告速度值大于零。
答案 1 :(得分:0)
我认为记录和处理速度有一点开销。而且,由于您并不总是需要知道速度,因此即使提供商保持不变,也可以使启用可选。