Android(安卓)AP模式创建有/无密码热点
16lz
2021-01-26
1、用到的类(可以不用反射) WifiManager:控制wifi的状态监测和打开、关闭。
WifiConfiguration:配置wifi的用户名、密码和加密方式等。 KeyMgmt:设置加密的方式,并设置到config中
2、test.java
mWifiConfig.allowedAuthAlgorithms.clear();
mWifiConfig.allowedGroupCiphers.clear();
mWifiConfig.allowedKeyManagement.clear();
mWifiConfig.allowedPairwiseCiphers.clear();
mWifiConfig.allowedProtocols.clear();
int wifi_ap_state = mWifiManager.getWifiApState();
if((wifi_ap_state == WifiManager.WIFI_AP_STATE_ENABLING) || (wifi_ap_state == WifiManager.WIFI_AP_STATE_ENABLED)){
mWifiManager.setWifiApEnabled(null, false);//关闭wifi的AP模式
}
//设置NONE = 0模式 mWifiConfig.SSID = "none";
mWifiConfig.wepKeys[0] = "";
mWifiConfig.allowedKeyManagement.set(KeyMgmt.NONE);
mWifiConfig.wepTxKeyIndex = 0;
mWifiManager.setWifiApEnabled(mWifiConfig, true);
//设置WPA PSK = 1模式
mWifiConfig.SSID = "wpa";
mWifiManager.preSharedKey = "88888888";
mWifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
mWifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
mWifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
mWifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
mWifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
mWifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
mWifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
mWifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
mWifiManager.setWifiApEnabled(mWifiConfig, true);
//设置WPA2 PSK = 2模式
mWifiConfig.SSID = "wpa2"; mWifiConfig.preSharedKey = "12345678"; mWifiConfig.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
mWifiConfig.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
mWifiManager.setWifiApEnabled(mWifiConfig, true);
3.权限
WifiConfiguration:配置wifi的用户名、密码和加密方式等。 KeyMgmt:设置加密的方式,并设置到config中
2、test.java
WifiManager mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiConfiguration mWifiConfig = mWifiManager.getWifiApConfiguration();
WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
//获取AP模式连接设备数量
List
mWifiConfig.allowedAuthAlgorithms.clear();
mWifiConfig.allowedGroupCiphers.clear();
mWifiConfig.allowedKeyManagement.clear();
mWifiConfig.allowedPairwiseCiphers.clear();
mWifiConfig.allowedProtocols.clear();
int wifi_ap_state = mWifiManager.getWifiApState();
if((wifi_ap_state == WifiManager.WIFI_AP_STATE_ENABLING) || (wifi_ap_state == WifiManager.WIFI_AP_STATE_ENABLED)){
mWifiManager.setWifiApEnabled(null, false);//关闭wifi的AP模式
}
//设置NONE = 0模式 mWifiConfig.SSID = "none";
mWifiConfig.wepKeys[0] = "";
mWifiConfig.allowedKeyManagement.set(KeyMgmt.NONE);
mWifiConfig.wepTxKeyIndex = 0;
mWifiManager.setWifiApEnabled(mWifiConfig, true);
//设置WPA PSK = 1模式
mWifiConfig.SSID = "wpa";
mWifiManager.preSharedKey = "88888888";
mWifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
mWifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
mWifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
mWifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
mWifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
mWifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
mWifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
mWifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
mWifiManager.setWifiApEnabled(mWifiConfig, true);
//设置WPA2 PSK = 2模式
mWifiConfig.SSID = "wpa2"; mWifiConfig.preSharedKey = "12345678"; mWifiConfig.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
mWifiConfig.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
mWifiManager.setWifiApEnabled(mWifiConfig, true);
3.权限
更多相关文章
- android4.0.3,设置开机不自动进入锁屏状态
- Android自带语音播报+讯飞语音播报封装(直接用)
- Android(安卓)处理OnItemClickListener时关于焦点颜色的设置问题
- 举例说明如何在android中实现设置黑名单的功能--AudioManager、P
- Android琐碎(壹)
- Android设置中清除应用数据源码分析
- Android(安卓): CardView的优雅使用
- android TextView如何设置字体下划线
- android 百度地图 定位功能