当前位置: 首页 > 知识库问答 >
问题:

Android WifiManager做一个幻影连接?

澹台鸿熙
2023-03-14

我正在使用WifiManager测试特定SSID的存在,并验证给定的WPA密码,但我得到了一个奇怪的结果。

代码看起来像这样:

WifiConfiguration wc = new WifiConfiguration();

// init ssid and password as Strings ...
wc.SSID = "\"" + ssid + "\"";
wc2.preSharedKey  = "\"" + password + "\"";

wc.hiddenSSID = true;
wc.status = WifiConfiguration.Status.ENABLED;
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);

int res = wifi.addNetwork(wc);
boolean b = wifi.enableNetwork(res, true);

奇怪的是enableNetwork()返回true,即使带有SSID的wifi网络不在线(?!)。但是,请注意,如果目标Wifi网络存在且密码正确,则代码会成功建立连接。

Android文档说enableNetwork()“如果操作成功,则返回true。”我的问题是:

1)如果网络甚至不存在,它是如何被启用的?

2)我是否初始化的WifiConfiguration参数,wc,不正确?

3) 这是连接/测试Wifi网络的正确方法吗?

共有1个答案

裘禄
2023-03-14

1)如果网络甚至不存在,它是如何被启用的?

Android文档说enableNetwork()“如果操作成功,则返回true。”

它们实际上意味着启用操作已经成功启动,它没有崩溃...如果wifi实例不再链接到wifi恳求者,这可能会返回false。

2)我是否初始化的WifiConfiguration参数,wc,不正确?

我不确定,但看起来不错。

3) 这是连接/测试Wifi网络的正确方法吗?

启用网络之前,应使用startScan()方法检查网络是否实际可用。(您将在回调中获得SSID列表)。

您还应该使用BroadcastRecector从Intent操作NETWORK_STATE_CHANGED_ACTION中获取结果,在那里您可以检查到接入点的连接是否成功。

 类似资料:
  • 元素呈现无形地保持相同的大小和其他维度,包括基线位置,如果它们正常呈现的内容将具有。 它用于通过隐形复制子表达式来对齐表达式的各个部分。 语法 (Syntax) 以下是使用此标记的简单语法 - <mphantom> expression </mphantom> 参数 (Parameters) 以下是此标记的所有参数的说明 - expression - 推断多个孩子的分娩。 属性 (Attribu

  • 当我尝试从Scala应用程序通过幻影插入卡桑德拉时,我收到以下错误代码。 Cassandra版本捆绑了:dsc-cassandra-3.0.1 [错误](run-main-0)com . datas tax . driver . core . exceptions . nohostavailableexception:尝试查询的所有主机都失败(尝试:localhost/127 . 0 . 0 .

  • 这里出现的问题是,当我在示例socekt之间连接时。使用此套接字的io客户端。io服务器(按节点)。js(只运行两个终端并打开客户端和服务器之间的套接字连接)我没有问题 但是,当我试图注入这个套接字时。io客户端到我的Ember。js应用程序,准确地说,它会将我的客户端从给定地址重定向到类似于 http://localhost:8080/socket.io/?EIO=3 我还在浏览器中粘贴了检查控

  • 我对转基因食品的发展是新的,我有一个问题。我想为Eclipse编写一个插件。因此,我使用GMF仪表板视图。首先,我创建了一个ecore-file,它表示如下图所示。然后生成一个genmodel文件,用它可以为编辑器的某些部分创建源代码。然后导出一个图形化定义模型和一个工装定义模型,并将它们组合成一个映射模型。问题就从这里开始。 在最后一步中,当您组合这两个文件时,您可以编辑映射。但只显示了一个节点

  • 我想登录amazons3(用网址:‘https://console . AWS . Amazon . com/iam/home?# security _ credential′)。我在这里使用了phantom2.0.1和selenium2.45.0。 我可以成功打开网站,但是当我在填写用户名和密码后进行“提交”时,网站跳转到一个错误页面,显示“请启用Cookie以继续”。所以我想知道如何在我的ub

  • 上面是后台返回的一部分数据 请问大佬们有知道如何通过这些数据 ,做一个类似于电影院选票的那种嘛?想做的是一个停车场的车位的选择那种