首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在android中以编程方式忘记无线网络?

如何在android中以编程方式忘记无线网络?
EN

Stack Overflow用户
提问于 2012-06-21 16:33:53
回答 4查看 25K关注 0票数 28

我在一个应用程序,其中wifi,其中用户将被要求输入他选择的扫描网络的密码,如果用户输入正确的密码,它连接和工作良好。但是当用户输入错误的密码时,会添加一个具有该名称的新网络,该网络将因为密码错误而无法进行身份验证,并且将处于身份验证问题状态。

现在,如果用户尝试再次扫描并选择相同的网络,并输入正确的密码,则即使密码正确,它也无法连接,并且将处于禁用状态,因为以前的连接仍显示该身份验证问题状态。

如何解决这个问题?有没有办法忘记所有使用ConnectivityManager或wifimanager的网络?或任何其他解决方案?

EN

回答 4

Stack Overflow用户

发布于 2012-06-21 16:40:26

您可以使用removeNetwork()方法删除冗余的网络连接(尽管我怀疑它们是否具有相同的netId),然后重新添加连接以避免您遇到的问题。

票数 3
EN

Stack Overflow用户

发布于 2017-10-10 21:46:24

代码语言:javascript
复制
wifiManager.saveConfiguration(); 

不再需要调用saveConfiguration,因为removeNetwork(int)已经自动持久化配置。

https://developer.android.com/reference/android/net/wifi/WifiManager.html#saveConfiguration()

票数 1
EN

Stack Overflow用户

发布于 2017-05-15 22:57:40

通过这样做,可以获得列表中配置的网络列表,然后立即执行删除和保存。

代码语言:javascript
复制
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
        List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
        for( WifiConfiguration i : list ) {
            wifiManager.removeNetwork(i.networkId);
            wifiManager.saveConfiguration();
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11134383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档