**
1.使用Android手机自带GBS定位:
**
//获取地理位置管理器
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//获取所有可用的位置提供器
List providers = locationManager.getProviders(true);
一开始提示获取不到可用的位置提供器,调试时发现返回位置提供器的providers为null,测试手机为红米3S。网上说不同手机测试结果不一样,想到应该跟代码无关,可能跟手机自己的设置有关。
于是全局搜索“位置信息”->点击开启位置服务。继续调试代码,发现providers依旧为空,回去继续摸索手机的设置内容,发现在“设备安全性”里有个“更多”的选项,好奇点开看到了“扫描”选项,点击进去才发现“WLAN扫描”跟“蓝牙扫描”默认是关闭的,把它们都设置成开启就可以了。
总结:遇到没有可用的位置提供器这种情况,先看下设备相应的服务有没有开启。
另外在学习android手机自带的定位功能时发现不是很合用,利用联网定位精度不够,单独使用GPS定位在室内就接收不到。最后还是决定使用高德地图API封装好的定位接口。