2012-04-26 161 views
3

我有成功從多個提供商獲取位置更新的代碼,並對它們進行過濾以提供當前最佳估計。GPS位置總是返回零速度

我添加了代碼來檢查返回的Location.hasSpeed()和.hasBearing()值,以便在用戶實際移動時進行與軸承相關的計算。

這一切工作正常運行2.3.3華爲音速,但在谷歌Nexus S運行4.0.4的GPS提供的位置總是返回false爲.hasSpeed()和0 .getSpeed()。

當我註冊我的位置監聽器時,GPS提供商對.supportsSpeed()返回true,但即使精度下降到30米,它也不會返回位置的速度,並且它正在物理移動(在汽車中,在最大接收的儀表板,屏幕)。

從2.3.x到ICS 4.x有一些不同嗎? 即使提供商報告支持,我是否還必須執行自己的速度計算?

+0

我在運行Android 4.1.1的Nexus S上接收當前位置時遇到問題 運行Android 4.0.4的三星Galaxy Nexus和運行Android 4.0.4的三星Galaxy S3上的相同代碼工作正常 似乎存在一些Nexus S設備上的GPS問題。 – Klaasvaak 2012-07-31 13:19:38

回答

0

谷歌Nexus S有GPS問題的歷史。我不認爲它與ICS特別相關。您是否嘗試過工廠數據重置手機然後重試?

+0

還沒有,但即使這樣做並不是一個好的結果,我是否建議我的用戶在安裝軟件前重置手機,如果他們有Nexus S? (還是)感謝你的建議。 – user1230223 2012-04-26 05:43:36

+0

@ user1230223當然不是,但是你不認爲最好知道它是否能夠像這樣工作嗎? – ABH 2012-04-26 06:07:46