我們都知道,在我們開發(fā)時需要在模擬器上模擬GPS,可在Location的時候總是null,上網(wǎng)查了一下,發(fā)現(xiàn)如下解決:
網(wǎng)上大俠的解決方案:
在模擬器上獲取GPS信息時,使用Location loc = LocationManager.getLastKnownLocation("gps");來獲取location信息,但是往往在調(diào)試中l(wèi)oc是null的,因為首先需要在模擬器中手動添加GPS信息,有兩種手動添加方法
1、在eclipse下,windows-->open perspective-->DDMS-->Emulator control-->Manual下手動設(shè)置經(jīng)緯度,并按send按鈕。但是這種方法經(jīng)過我的測試,需要再下面方法的基礎(chǔ)上才有效
2、在cmd下也可以手動添加信息。
(1)首先打開模擬器,然后運行cmd,輸入telnet localhost 5554(注:5554是模擬器在本機的端口,有可能不一樣哈,具體端口號,模擬器左上方有顯示的),這樣會出現(xiàn)
Android Console: type 'help' for a list of commands OK的字樣。
如果是使用WIN7的朋友,控制臺可能會提示telnet無效什么的,那是因為WIN7下默認(rèn)是不出現(xiàn)telnet的,需要手動打開。具體為:[1]控制面板-->程序-->打開或關(guān)閉Windows功能,然后將Telnet服務(wù)器和Telnet客戶端勾選上。[2]然后在管理工具-->服務(wù)中手動啟動Telnet
(2)使用geo命令模擬發(fā)送GPS信號:
geo fix 經(jīng)度 緯度
(3)這時就會發(fā)現(xiàn)在模擬器的狀態(tài)欄上多了一個GPS的標(biāo)志~再使用Location loc = LocationManager.getLastKnownLocation("gps");就能獲取到該坐標(biāo)的位置了~~
我實際操作了一下,發(fā)現(xiàn)還是報告錯誤,還是沒有出現(xiàn)GPS小指示圖標(biāo),不知道是什么原因.上面的解決方案給了我提示,我覺得是模擬器沒有開啟GPS,在系統(tǒng)設(shè)置中啟用也沒有效果.后來我在模擬器上干脆直接運行g(shù)oogle map,這次出現(xiàn)了gps指示圖標(biāo),再調(diào)用獲得location的方法就可以了,還要注意,必須指定用gps來定位,如果是別的方式還是會報告錯誤