手机定位方式目前有4种:基站定位,WIFI定位,GPS定位,AGPS定位。
本工程利用手机自带的"模拟位置"功能实现运行时修改LocationManager结果。
原理:使用android自带的调试api,模拟gps provider的结果。
Android 6.0系统以下,可以通过Setting.Secure.ALLOW_MOCK_LOCATION获取是否【允许模拟位置】,当【允许模拟位置】开启时,可addTestProvider;
Android 6.0系统及以上,弃用Setting.Secure.ALLOW_MOCK_LOCATION变量,没有【允许模拟位置】选项, 增加【选择模拟位置信息应用】,此时需要选择当前应用,才可以addTestProvider, 但未找到获取当前选择应用的方法,因此通过addTestProvider是否成功来判断是否可用模拟位置。
使用模拟定位需先开启系统设置中的模拟位置:
开发者选项-->选择模拟位置信息应用 选择当前app即可
下载地址:虚拟定位
链接:https://pan.baidu.com/s/1Ejl3k-O2FN9rwAe2BHCZ4g?pwd=d8tx
提取码:d8tx