在Android模擬器上類比GPS功能總是null的解決方案

來源:互聯網
上載者:User

我們都知道,在我們開發時需要在模擬器上類比GPS,可在Location的時候總是null,上網查了一下,發現如下解決:

網上大俠的解決方案:
在模擬器上擷取GPS資訊時,使用Location loc = LocationManager.getLastKnownLocation("gps");來擷取location資訊,但是往往在調試中loc是null的,因為首先需要在模擬器中手動添加GPS資訊,有兩種手動添加方法
1、在eclipse下,windows-->open perspective-->DDMS-->Emulator control-->Manual下手動設定經緯度,並按send按鈕。但是這種方法經過我的測試,需要再下面方法的基礎上才有效

2、在cmd下也可以手動添加資訊。

(1)首先開啟模擬器,然後運行cmd,輸入telnet localhost 5554(註:5554是模擬器在原生連接埠,有可能不一樣哈,具體連接埠號碼,模擬器左上方有顯示的),這樣會出現
Android Console: type 'help' for a list of commands OK的字樣。

如果是使用WIN7的朋友,控制台可能會提示telnet無效什麼的,那是因為WIN7下預設是不出現telnet的,需要手動開啟。具體為:[1]控制台-->程式-->開啟或關閉Windows功能,然後將Telnet伺服器和Telnet用戶端勾選上。[2]然後在管理工具-->服務中手動啟動Telnet

(2)使用geo命令類比發送GPS訊號:
geo fix 經度 緯度

(3)這時就會發現在模擬器的狀態列上多了一個GPS的標誌~再使用Location loc = LocationManager.getLastKnownLocation("gps");就能擷取到該座標的位置了~~
我實際操作了一下,發現還是報告錯誤,還是沒有出現GPS小指示表徵圖,不知道是什麼原因.上面的解決方案給了我提示,我覺得是模擬器沒有開啟GPS,在系統設定中啟用也沒有效果.後來我在模擬器上乾脆直接運行google map,這次出現了gps指示表徵圖,再調用獲得location的方法就可以了,還要注意,必須指定用gps來定位,如果是別的方式還是會報告錯誤

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.