当前位置: 首页 > 面试题库 >

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

终波涛
2023-03-14
问题内容

我正在开发一个wifi应用程序,在该应用程序中,将要求用户输入他选择的扫描网络的密码,如果用户输入正确的密码,它将连接并正常运行。但是,当用户输入错误的密码时,将使用该名称添加新的网络,并且将无法对错误密码的cos进行身份验证,并且网络将具有身份验证问题状态。

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

如何解决这个问题呢?有什么方法可以使用ConnectivityManager或wifimanager忘记所有网络吗?或其他解决方案?


问题答案:

WifiManager源代码,有这样的方法:

/*
 * Delete the network in the supplicant config.
 *
 * This function is used instead of a sequence of removeNetwork()
 * and saveConfiguration().
 *
 * @param config the set of variables that describe the configuration,
 *            contained in a {@link WifiConfiguration} object.
 * @hide
 */

public void forgetNetwork(int netId) {
    if (netId < 0) {
        return;
    }
    mAsyncChannel.sendMessage(CMD_FORGET_NETWORK, netId);
}

但是此方法是@hide,因此我们无法使用它。但根据此评论:

该功能用于序列而不是removeNetwork()saveConfiguration()

您可以尝试使用:removeNetwork()saveConfiguration()



 类似资料:
  • 我正在开发一个wifi应用程序,用户将被要求输入他选择的扫描网络的密码,如果用户输入正确的密码,它将连接并正常工作。但是,当用户输入错误的密码时,将使用该名称添加一个新的网络,并且将无法对错误密码的cos进行身份验证,并且将处于身份验证问题状态。 现在,如果用户尝试再次扫描并选择同一网络,并输入正确的密码,则即使现在的密码正确并且将处于禁用状态,它也无法连接,因为以前的连接仍显示身份验证问题状态。

  • 问题内容: 连接网络后如何向用户显示缓慢的Internet连接注意:不是网络类型(2G,3G,4G,WIFI) 问题答案: 确定您的网络速度-(缓慢的Internet速度) 使用NetworkInfo类,ConnectivityManager和TelephonyManager确定您的网络类型。 从互联网上下载任何文件,并计算花费了多长时间与文件中的字节数。(确定速度检查的唯一方法) 我已经为我的项

  • 问题内容: 有一个网页,我想从中检索某个字符串。为此,我需要登录,单击一些按钮,填充文本框,单击另一个按钮-然后出现字符串。 如何编写Java程序以自动执行此操作?是否有用于此目的的有用库? 谢谢 问题答案: 试试HtmlUnit HtmlUnit是“用于Java程序的GUI更少的浏览器”。它为HTML文档建模,并提供一个API,使您可以调用页面,填写表单,单击链接等,就像在“常规”浏览器中一样。

  • 我用一些按钮以编程方式创建AlertDialog的LinearLayout。 我想这样做: 但对于这样的代码: 如何以编程方式设置按钮的样式(使用按钮栏)?

  • 我有一个充满自定义视图的应用程序。当我尝试以编程方式创建FAB时,它会抛出一个错误 原因:java.lang.IllegalArgumentException:您需要在设计库中使用theme.AppCompat主题(或后代)。

  • 我正在尝试寻找资源或库,可以让我捕捉所有网络数据包的流量的设备编程,无论是从wifi或移动网络。我相信不需要root用户就可以像shark for root用户所要求的那样进入这种混乱的模式,因为play store上有一个应用程序,它可以捕获所有的网络流量(甚至用MITM解密SSL),而不需要root用户。我根本想不出如何做同样的事。 我的问题是:这款app是如何实现这种抓取的?他们用了什么AP