Android定位方式
Android經常使用的三種定位方式有:基於GPS定位、基於基站定位、基於wifi定位。
1)基於GPS定位
GPS定位須要GPS模塊(硬件)的支持,沒有GPS模塊是沒法進行GPS定位的。
GPS定位最大的優勢就是其定位精確度高;缺點就是耗電高、定位慢、室內和地下室基本定位不到。
2)基於基站定位
根據採集到
手機所處基站信息和手機相關信息(MNC、MCC、LAC)進行定位,基站定位最大的優勢就是:定位速度快,缺點就是:定位精度稍微較差,無網絡信號不能使用。
3)基於wifi定位:
和基站定位相似,根據當前設備獲取的wifi信息來進行定位。
能夠從Androidmanifest.xml查看程序優先使用的定位方式:
Android應用定位原理
LocationManager是用於管理Android的用戶定位服務,使用它來監聽獲取當前的位置信息並定義要返回的信息,如經緯度、方位等,相關代碼以下:
Android定位測試注意
1)定位正確性;
2)定位權限;
3)不一樣網絡環境下的定位;
4)不一樣環境下的定位;
5)本地測試外地定位;
6)定位產生的耗電量評測;
7)定位失敗的處理狀況。
上面提到的泛靈犀問題中,小編就是漏掉了本地測試外地定位的狀況,關於「本地測試外地定位」的測試方法以下:
自定義位置提供器:
1)準備一臺root手機;
2)下載「假裝定位」app並安裝;
3)安裝完畢,打開手機設置→開發人員選項,開啓容許虛擬位置;
4)回到軟件主界面,在地圖上選擇你要模擬的地方,點擊「穿越到這裏」
模擬器模擬:
使用模擬器進行測試的時候能夠使用DDMS進行經緯度設置,如圖:
白盒方式:
因爲定位代碼最終獲取的是一個位置對象,只須要在獲取到位置對象後手動設置經緯度便可。程序中使用的位置對象通常是android.location.Location對象,調用它的setLatitude和setLongitude方法就能夠設置經緯度。