public void createWifiHotspot() {
if (wifiManager.isWifiEnabled()) {
wifiManager.setWifiEnabled(true);
}
WifiConfiguration config = new WifiConfiguration();
config.SSID =WIFI_ssid;
config.preSharedKey = WIFI_PASSWORK;
config.hiddenSSID = false; //是否隐藏熱點名稱 false 不掩藏
config.allowedAuthAlgorithms
.set(WifiConfiguration.AuthAlgorithm.OPEN);//開放系統認證
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
config.allowedKeyManagement.set(4); //WifiConfiguration.KeyMgmt.WPA2_PSK,不能直接用,用代号4即可
// config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.TKIP);
config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
config.allowedPairwiseCiphers
.set(WifiConfiguration.PairwiseCipher.CCMP);
config.status = WifiConfiguration.Status.ENABLED;
//通過反射調用設定熱點
try {
Method method = wifiManager.getClass().getMethod(
"setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);
boolean enable = (Boolean) method.invoke(wifiManager, config, true);
if (enable) {
textview.setText("熱點已開啟 SSID:" + WIFI_HOTSPOT_SSID + " password:123456789");
} else {
textview.setText("建立熱點失敗");
}
} catch (Exception e) {
e.printStackTrace();
textview.setText("建立熱點失敗");
}
}
遇到的兩個問題以解決
config.hiddenSSID = false; //是否隐藏熱點名稱 false 不掩藏
config.allowedKeyManagement.set(4); //WifiConfiguration.KeyMgmt.WPA2_PSK,不能直接用,用代号4即可
源碼下載下傳連結 http://download.csdn.net/detail/m0_37039192/9858469