admin管理员组文章数量:1570786
config.allowedGroupCiphers
.set(WifiConfiguration.GroupCipher.WEP104);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
config.wepTxKeyIndex = 0;
} else if (type == TYPE_WPA) { // WPA加密
config.preSharedKey = "\"" + password + "\"";
config.hiddenSSID = true;
config.allowedAuthAlgorithms
.set(WifiConfiguration.AuthAlgorithm.OPEN);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.TKIP);
// config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
}
return config;
}
//检测该SSID是否已存在
private WifiConfiguration IsExsits(String SSID) {
List<WifiConfiguration> existingConfigs = mWifiManager.getConfiguredNetworks();
for (WifiConfiguration existingConfig : existingConfigs) {
if (existingConfig.SSID.equals("\"" + SSID + "\"")) {
return existingConfig;
}
}
return null;
}
// 打开WIFI
public void openWifi() {
if (!mWifiManager.isWifiEnabled()) {
mWifiManager.setWifiEnabled(true);
}
}
// 关闭WIFI
public void closeWifi() {
if (mWifiManager.isWifiEnabled()) {
mWifiManager.setWifiEnabled(false);
}
}
}
最后,我们得加上处理wifi相应的权限。
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
好了,是不是很简单。demo下载地址 [**点我下载。**]( )
最后的思考:
其实我也在想这么一个需求,既然能识别,那也得加上一键生成我的wifi二维码功能啊,结合前篇的二维码生成,这样就实现wifi共享了,免得别人问我密码。但是,但是这个目前实现不了,准确的说是在非root功能上的手机实现不了,因为这就等效于“怎么获取连接wifi的密码”的问题了,假如我们可以通过代码能获取到密码的话,那么按照格式就可以自动生成了。但是通过收集资料,发现这个实现不了,想一下,目前市场上存在的wifi万能钥匙一类的app在使用时,如果要显示密码的话,就得获取root权限,所以说这个是暂时没有办法解决的。当然如果你有好的、通用的解决方法,欢迎留言给个思路。
\======2018.1.18更新=====
最近回过头来,看这些问题,突然发现有部分人反应6.0以上系统,这个方法就有时不行,经过我这2天的初步了解,算找到了一部分的原因。原来是Android系统在6.0以上的系统对wifi模块做了修改。以下是官方的原文:
Wi-Fi and Networking Changes
1、This release introduces the following behavior changes to the Wi-Fi and networki
版权声明:本文标题:Android扫描wifi二维码自动连接wifi 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1727679415a1125234.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论