android 定位 策略

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方法就可以设置经纬度。
原文地址:https://www.cnblogs.com/yanhuidj/p/11059407.html