在 8.1 以前,应用在没有位置权限的情况下可以获得当前已经连接的 WiFi 接入点的用以识别位置的信息(SSID,BSSID),而这样单独一个接入点的信息足以获取相当精确的设备位置。
这就是在 AppOps 关闭了位置权限(以绕过某些流氓强迫索取位置权限)后,有的应用(如微信)依然能粗略定位的原因
从 8.1 开始,在没有获得位置权限时:
- WifiInfo.getBSSID() 返回
02:00:00:00:00:00 - WifiInfo.getSSID() 返回
<unknown ssid> - WifiInfo.getRSSI() 照旧返回信息