2010-08-07 31 views
2

在此thread中,MSohm說「GPS服務選項不打開或關閉GPS」。這意味着,如果設備有內置GPS接收器,那麼這樣的代碼在BlackBerry上,如果GPS服務選項設置爲位置OFF,則LocationProvider爲空

LocationProvider provider = LocationProvider.getInstance(null); 

應該不會返回無論GPS服務選項。如果我在Curve 8310(4.5.0)和Storm 9530(4.7.0)模擬器(都有內置GPS接收器)上嘗試上面的代碼,那麼我會得到null如果GPS服務選項設置爲位置OFF。如果我將GPS服務選項更改爲位置ON,那麼我得到一個非null LocationProvider,然後我可以獲得定位等。

這是模擬器的錯誤嗎?任何人都可以說如何在真實設備上工作?

UPDATE:

我剛剛得到真實設備(暴雨)的測試結果。令人驚訝的是,真實的設備行爲與我在模擬器上的行爲相同。我很困惑。 MSohm說:「GPS服務選項不打開或關閉GPS」,但看起來像是打開/關閉GPS。任何人都可以提出意見嗎?

回答

1

我的經驗告訴我,這是沒有錯誤

實際上,你可以打開和關閉切換位置在黑莓選項,根據GPS選項。

我會推薦的是,聲明LocationProvider後檢查它是否爲空。如果它爲空,則向用戶發送一條消息,告訴他GPS位置已關閉,並且必須先打開它才能使用GPS。

你也可以告訴他在哪裏改變這個設置。

您在真實設備上獲得相同的行爲,所以我認爲這是最好的方法。

我測試了這一個曲線8530

請記住,運行模擬器時,您必須啓用仿真器的窗口菜單GPS,這可能是爲什麼你得到一個空的理由LocationProvier在模擬器

+0

謝謝,庫羅,爲您的答案。我確實檢查LocationProvider爲null,並提醒用戶轉到設備GPS選項以將位置設置爲ON。這一點與BB論壇管理員MSohm所說的相矛盾,所以我不確定我的結果。現在,看起來我可以信任它。 – 2010-08-18 07:21:54