我已经实现了系统以编程方式从我的应用程序连接到wifi网络,现在我想以编程方式忘记配置的wifi网络 应用程序。 我已经将它实现到我的应用程序中,它在Android 5.0和更低版本的设备上运行良好(少于API 22)。 对于Android 6.0及更高版本的设备,它不起作用(高于和等于API 23)。
请参阅以下代码:
val wifiManager = this@SelectWifiSettingsActivity.baseContext!!.getSystemService(android.content.Context.WIFI_SERVICE) as WifiManager
val list = wifiManager.configuredNetworks
for (i in list) {
wifiManager.disableNetwork(i.networkId)
wifiManager.saveConfiguration()
}
我还提到了以下链接: https://stackoverflow.com/a/33075445/9360112
由于Android 6.0中的WiFi配置有一些变化。
如果有人为此提供解决方案,请帮助我。
答案 0 :(得分:2)
第一件事是您不需要使用saveConfiguration()。
此方法已在API级别26中弃用。
无需调用此方法-addNetwork(WifiConfiguration),updateNetwork(WifiConfiguration)和removeNetwork(int)已经自动保留配置。
第二,您要寻找的是removeNetwork()。
您的代码如下:
val wifiManager = this@SelectWifiSettingsActivity.baseContext!!.getSystemService(android.content.Context.WIFI_SERVICE) as WifiManager
val list = wifiManager.configuredNetworks
for (i in list) {
wifiManager.removeNetwork(i.networkId)
}
可以说... WifiManager的Android M API有所更改。
您的应用现在只能更改WifiConfiguration对象的状态 如果创建了这些对象。您无权修改或 删除用户或其他应用创建的WifiConfiguration对象。