【发布时间】:2013-02-24 07:33:03
【问题描述】:
我有一个关于 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() );
【问题讨论】:
-
愚蠢的安卓设计。 evry GPS 芯片提供速度数据。唯一有意义的是手机用户可以禁止设备记录速度值。