2013-02-24 104 views
3

我有一個關於android.location.Location.getSpeed()的問題。 我已經實現了我的LocationListener,並指定它的提供者使用GPS。這樣getSpeed()總是0.0。我已閱讀過這個,沒問題。現在,當我設置標準,並指定Android的GPS速度

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

愚蠢的android設計。 evry GPS芯片提供速度數據。唯一有意義的是手機用戶禁止設備記錄速度值。 – AlexWien 2013-04-12 19:29:34

回答

1

也許我誤解了問題,但你必須要移動的GPS報告的速度值大於零。

+0

真的嗎?我想,因爲地球在空間中移動...... – 2013-04-28 03:41:03

0

我認爲記錄和處理速度有一點點開銷。而且,由於您不需要知道速度,因此即使提供者保持不變,啓用可選項也是有意義的。