Android连接到指定Wifi

最近在做一个wifi相关的项目,在应用内去操作WifiManager扫描得到的可用结果集,断开指定的已经连接的wifi在重新连接你会发现连接不上,包括删除该网络也是不行的。

经调试updateNetwork())它返回的是-1,即使是你重新创建一个WifiConfiguration添加该网络addNetwork())依然返回-1。
同样的,removeNetwork())也是返回-1的。

那么为啥出现这种情况,问题在于Android 6.0对WLAN API做了如下变更:

Your apps can now change the state of WifiConfiguration objects only if you created these objects. You are not permitted to modify or delete WifiConfiguration objects created by the user or by other apps.

现在,app只能修改自己创建的WifiConfiguration对象的状态,而不再允许修改或删除由用户或其它app创建的WifiConfiguration对象。如果想控制wifiConfig 那么只能在自己的app中建立其wifiConfig。

当然了,设备Root成为Device Owner之后, 将可以编辑或移除任何无线网络配置,包括那些不是由自己创建的。

打赏作者