大家应该有印象,用 AppOps 仅用了微信的定位权限后,它依然可以找到准确定位。
今天用 Xposed+Xprivay 对微信测试了一下 可以确定是在 Android 上(到 8.0 为止),定位权限不会限制应用获取 当前连接着的无线局域网的信息
把 WifiManager.getConnectionInfo 劫持以后,应用便无法定位
涉及的 Android API: https://developer.android.com/reference/android/net/wifi/WifiManager.html#getConnectionInfo()
https://developer.android.com/reference/android/net/wifi/WifiInfo.html
到这里还不能解释,在离开 wifi 网络,仅使用蜂窝网络时,微信中的地图能进行粗略定位的原因