- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试创建一个 NFC 标签应用,将 Wifi 凭据存储在 NFC 标签上,然后将其读出。从那里我获取字符串并使用它并通过 wifimanager 放置凭据以连接到无线网络。我很确定我的代码是正确的,但它仍然没有连接。我错过了什么吗?我尝试连接的 channel 是 WPA2。
我如何为函数提取数据:
@Override
public void onClick(View v)
{
String payload = _textViewData.getText().toString();
String[] parts = payload.split("-");
String SSID = parts[0];
String Password = parts[1];
part1.setText(SSID);
part2.setText(Password);
connectToWifi(SSID, Password);
}
});
更新:连接函数
private void connectToWifi(final String networkSSID, final String networkPassword){
if (!wifiManager.isWifiEnabled()){
wifiManager.setWifiEnabled(true);
}
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = String.format("\"%s\"", networkSSID);
conf.preSharedKey = "\""+ networkPassword +"\"";
WifiManager wifiManager = (WifiManager)this.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
List<WifiConfiguration> wifiList = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : wifiList ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
break;
}
}
}
更新 2:
我将我的网络切换到 WPA 并且它有效,但似乎不适用于 WPA2,这可能吗?
最佳答案
要连接 WPA 网络,您需要像这样添加密码:
conf.preSharedKey = "\""+ networkPass +"\"";
对于开放网络,您需要这样做:
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
然后,您需要将其添加到 Android wifi 管理器设置中:
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
之后你必须启用它。
List<WifiConfiguration> wifiList = wifiManager.getConfiguredNetworks();
for( WifiConfiguration i : wifiList ) {
if(i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.status = WifiConfiguration.Status.ENABLED;
wifiManager.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wifiManager.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wifiManager.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wifiManager.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); wifiManager.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); wifiManager.allowedProtocols.set(WifiConfiguration.Protocol.RSN); wifiManager.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
wifiManager.reconnect();
break;
}
}
编码愉快!!
关于java - 使用 WifiManager 连接到无线网络 (wpa2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466211/
我为 CLR 提供程序记录 ETW 事件: xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4 -f clr.etl ... xperf
我正在编写一个应用程序,允许用户使用 PEAP 或 TTLS 和证书轻松地将 android 连接到企业无线网络。 我可以添加一个基于 EAP 的 wifi 配置文件,并让它使用正确的凭据和证书将 w
我经常乘公共(public)汽车旅行,其中大部分都提供某种形式的车载 WiFi。使用像 Wicd 这样的自动连接管理器连接到它们的通常方法是选择网络,然后在启动浏览器时进行一些额外的身份验证,我就完成
当我使用NEHotspotConfigurationManager加入具有64个十六进制数字的wpa2网络时,我收到错误: NEHotspotConfiguration invalid WPA/WPA
我尝试编写一个 Python 程序来计算 WPA 握手,但我在哈希方面遇到了问题。为了比较,我安装了 cowpatty (看看我从哪里开始出错)。 我的 PMK 生成工作正常,但 PTK 计算似乎总是
我需要将 headless 物联网设备 (Raspberry Pi) 连接到 Wi-Fi 网络。我有使用 YoctoProject 构建的自定义 Linux。我没有安装 connman 或 Netwo
Cydia中的eWifi、WiFiFoFum等wifi扫描应用程序可以知道安全类型。使用 Apple80211 api 时,应用程序如何知道 OPEN、WPA、WPA2、WEP 等安全类型? CAPA
因此,在我的应用程序中,我将连接到给定 SSID 和网络 key 的 WiFi 网络。它运行良好,如果使用广播接收器连接成功,用户会收到通知。现在我只需要能够告诉用户是否存在身份验证问题(即给定的 k
我正在尝试获取 2 个函数来验证 SSID 和 WPA2 密码。 function isValidSSID(ssid) { return (regex) } 和 function isVali
我正在用 C 为 linux 编写一个程序,以从 Windows 注册表配置单元中提取 wpa/wep key 。 最初我希望使用 wine 的 CryptUnprotectData 函数,但现在我意
我正在尝试验证用户为 WPA 连接输入的 SSID 和 WPA 密码。我的程序是运行在嵌入式Linux平台上的Python程序。我可以通过解析 iwlist scan 子进程的输出来验证具有 SSID
这是我的问题: 如果我连接到网络(所以我知道 WPA/WPA2-PSK),我希望能够解密我从网络中的其他设备捕获的流量。 (如果使用 WEP,tcpdump 会自动执行此操作)。 据我所知,WPA 为
我在 React+Nodejs 上有一个中等规模的项目,我需要为移动部分选择最合适的技术。为此,我正在考虑使用 React Native 或 Web Progressive Apps。我想问你们,到目
我浏览过 stackoverflow 本身以及其他博客和网站上关于以编程方式连接到 WiFi 网络的几个话题。我得到了他们的指南并开发了一个代码 fragment ,发布在下面。我的住处有一个 pro
我试图计算 WPA 握手数据包的 MIC,但不幸的是它失败了。更准确地说,我采用了 802.1x 数据包(如规范所述)。 MIC = HMAC_MD5(MIC Key, 16, 802.1x data
尝试以编程方式从 Android 连接到我的无线网络。 安全类型是WPA2,加密AES。 这没有按预期工作: private WifiConfiguration saveWepConfig(Strin
几个月前,我开始开发一些 WiFi-Direct 应用程序。几天前,我将我的两个 Galaxy Nexus 都更新为 Jelly Bean (4.1.x) 并测试了我的应用程序,但似乎又出现了问题。获
我的 Nexus One (Gingerbread) 和 Samsung Galaxy Tab (Honeycomb) 都停止连接到我使用 WPA/WPA2 无线连接的公司网络。奇怪的是,这两种设备至
尝试列出网络属性时 - https://w1.fi/wpa_supplicant/devel/dbus.html#dbus_network使用 dbus-cpp 我收到一些关于丢失 operator=
我正在尝试使用 java 创建一个随机 WPA 密码生成器,以便为我提供尽可能安全的 Wifi 密码,并且可以在我需要时进行更改。 是否有一种方法可以使用 WPA(2) 密码中允许使用的所有字符快速填
我是一名优秀的程序员,十分优秀!