1. 程式人生 > >Android定位測試(深坑)

Android定位測試(深坑)

pos img 方法 電信 馬來西亞 我們 其他 應用 移動

問題:我們是一個海外app,市場部去馬來西亞打開那邊的市場,發現了一個問題,就是我們的app定位有問題,還是成都的定位,主要原因是在馬來西亞使用這個app,請求中帶的經緯度參數是成都的,導致服務器返回了成都的定位。

一、Android定位方式

Android常用的三種定位方式有:基於GPS定位、基於基站定位、基於wifi定位

1)基於GPS定位

 GPS定位需要GPS模塊(硬件)的支持,沒有GPS模塊是無法進行GPS定位的。

 GPS定位最大的優點就是其定位精確度高;缺點就是耗電高、定位慢、室內和地下室基本定位不到。

2)基於基站定位

 根據采集到手機所處基站信息和手機相關信息(MNC、MCC、LAC)進行定位,基站定位最大的優點就是:定位速度快,缺點就是:定位精度稍微較差,無網絡信號不能使用。

3)基於wifi定位:

 和基站定位類似,根據當前設備獲取的wifi信息來進行定位。

可以從Androidmanifest.xml查看程序優先使用的定位方式:

技術分享圖片

android.permission.ACCESS_FINE_LOCATION → GPS定位

android.permission.ACCESS_COARSE_LOCATION → 網絡定位

二、Android應用定位原理

LocationManager是用於管理Android的用戶定位服務,使用它來監聽獲取當前的位置信息並定義要返回的信息,如經緯度、方位等

技術分享圖片

註意點:

 1、如果程序擁有打開GPS的權限,用戶設置關閉GPS後但又獲取位置的需求則會自動打開GPS來進行定位,定位後會自動關閉GPS;

 2、定位時一定要設置超時時間,要不然遇到定位不到的情況則會一直卡在定位上還無法退出使用其他功能;

 3、如果超時可以上一次定位的位置(LocationManager有方法可以得到上次定位的位置),如果上次定位位置為空則提示用戶定位失敗。

三、測定位時該從哪些角度考慮

 1、檢查三種定位方式定位是否能成功,定位精度準確且無報錯;

 2、三種定位正交組合,檢查定位功能和定位精度;

 3、程序有打開GPS權限時,關閉網絡和GPS,檢查能否定位和定位精度;

 4、定位失敗的兩種處理情況(失敗提示和是否返回上一次位置);

 5、定位過程中與來電、短彩信、藍牙的沖突;

 6、定位過程中與功能鍵交互;

 7、不同網絡環境(移動、聯通、電信中3G/2G)下的定位速度和精度;

 8、不同環境(室內、室外、電梯)的定位和精度;

 9、本地測試外地定位(DDMS模擬)

特別是第9點,我這次就是坑了,沒測試到

Android定位測試(深坑)