java - 如何以编程方式忘记android中的无线网络?

标签 java android android-wifi android-internet android-wireless

我正在开发一个 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/

相关文章:

java - Camel : Add TypeConverter in Test Case

java - 如何在编辑输出时读取文件并创建新文件?

使用 GPS 的 Android App 功耗

Android WiFiManager enableNetwork 返回 false

android - 前台服务示例

android - 如何获得有关 wifi 信号强度变化的通知?

java - 即使启动了新 Activity ,也让应用程序留在后台

java - fragment 不会在 Activity 中显示

android - 如何向 gridview 添加垂直滚动条?

android - 如何为 Android、Eclipse 启用布局设计器?