我正在创建一个Android应用程序,该应用程序允许您通过特定的BSSID连接到WiFi。我已经实现了扫描所有wifis的部分,并在WiFi网络安全类型的功能上做出WiFi配置。我还通过特定的BSSID实现了与WiFi网络的连接。如何使用特定的bssid android连接到wifi?
但我有一个问题:与特定BSSID的连接适用于安全网络,但对于开放网络并不起作用,我不知道为什么。事实上,这种与具有特定BSSID的开放网络的连接在三星Galaxy S4或更新的版本上工作,但不适用于Galaxy S2和S3 ......这真的很奇怪。在S2和S3上,连接期间不考虑BSSID。
这是我用它来创建一个开放的网络配置,并尝试在它与特定的BSSID连接样本代码:
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + wifiItem.getSSID() + "\"";
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
WifiManager wifiManager = (WifiManager) parentActivity.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
conf.BSSID = wifiItem.getBSSID();
wifiManager.updateNetwork(conf);
wifiManager.saveConfiguration();
for (WifiConfiguration wifiConfiguration : wifiManager.getConfiguredNetworks()) {
if (wifiConfiguration.SSID.equals("\"" + wifiItem.getSSID() + "\"")) {
wifiManager.disconnect();
wifiConfiguration.BSSID = wifiItem.getBSSID();
wifiManager.updateNetwork(wifiConfiguration);
wifiManager.enableNetwork(wifiConfiguration.networkId, true);
wifiManager.reconnect();
}
如果有人可以帮助我,这将是太酷了。我花了很多时间,真的不明白这个问题。
做你解决这个问题?分享你的结论吗? – atx