前言
谷歌有一点点的蛋疼,没想到定位也需要加上版本的判断了,再此总结下定位权限以及WiFi AP SSID的获取。
安卓9.0定位权限
安卓系统在9.0之后如果不开启手机的GPS服务功能,应用即使已经获取到定位权限,也无法进行定位,开启GPS服务后,应用才可以有效定位。(我们用的是百度地图)。
9.0系统限制比较多,再此多说一句,因为我做的是打卡相关的业务。
1.9.0系统不开启GPS(应用有定位权限)
无法获取路由器ap地址(bssid),无法获取wifi名称(ssid),获取到的wifi ssid是unknown ssid.
截图如下:
有人可能会问了,这个mac地址不是有吗?首先下面的mac地址为该手机的mac地址,这个不受GPS和定位权限的影响,并不是路由器的ap地址。
开启后上述情况正常(不再截屏),可以正确的获取到wifi ssid 和 bssid(路由器ap地址)
属实有点蛋疼。
Tips:9.0系统手机必须开启GPS,有些手机需要开启高精度模式,同时应用具有定位权限,才可以获取定位权限。
2.安卓系统低于9.0
安卓系统低于9.0,应用获取到定位权限后,可以进行定位,无需开启手机的GPS服务功能。(不再提供截屏)
总结:不得不说,安卓坑的地方比较多,但是我们要善于总结,代码如下,比较简单,仅供参考.
代码地址,仅供参考