关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置

最近发现Android在高版本对WIFI安全管理变得严格起来,起初应该是6.0版本对Wifi修改需要申请OVERRIDE_WIFI_CONFIG权限,可是没有找到对这个权限的仔细说明,只是有一句说这个是系统权限, 一般应用无法生效。

通过对5.0以上版本wifimanager源码的追钟,发现5.1开始对WIFI修改管理重连有明确的修改痕迹。分为对权限的判定以及对wifi owner的判断。

自己在家里发现某讯路由器的管理APP也未实现对wifi修改后的重连问题,需要引导用户自己到WIFI界面进行后续重连操作。

接下来的部分问题定位,可以解决WiFimanager中Addnetwork返回值为-1,导致后面enable失败的问题。直接上安卓源码贴图,位置一定定位了,细心的你肯定知道怎么修改了。

5.1判定位置关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置

6.0 判定位置

关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置

7.0 7.1

关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置

可以发现8.0一下对WIFI所有人的判断还是停留在wifistatemachine内

8.0以上换位置了

关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置

关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置关于Android6.0以上WIFImanager对权限以及WIFI所有人判定位置