最近发现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判定位置
6.0 判定位置

7.0 7.1


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



本文探讨了Android系统从5.1版本开始对WIFI管理的变更,特别是针对权限管理和WiFi所有权验证的变化,并解决了WiFimanager中Addnetwork返回-1的问题。
1936

被折叠的 条评论
为什么被折叠?



