我正在开发一个 wifi 应用程序,用户将被要求输入他选择的扫描网络的密码,如果用户输入正确的密码,它会连接并运行良好。但是当用户输入错误的密码时,一个新的网络会以该名称添加,并且将无法验证密码错误的 cos,并且会出现验证问题状态。
现在如果用户尝试再次扫描并选择相同的网络,并输入正确的密码,即使密码正确,它也无法连接,并且将处于禁用状态,因为之前的连接仍然显示身份验证问题状态。
如何解决这个问题? 有没有办法使用 ConnectivityManager 或 wifimanager 忘记所有网络?还是其他解决方案?
最佳答案
是的,removeNetwork()
有效。我用它来删除所有网络。
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
wifiManager.removeNetwork(i.networkId);
//wifiManager.saveConfiguration();
}
wifiManager.saveConfiguration()
此方法在 API 级别 26 中已弃用。无需调用 这个方法 - addNetwork(WifiConfiguration), updateNetwork(WifiConfiguration) 和 removeNetwork(int) 已经存在 自动配置。
https://developer.android.com/reference/android/net/wifi/WifiManager.html#saveConfiguration()
关于java - 如何以编程方式忘记android中的无线网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134383/