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方法就可以設置經緯度。