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