怎么實作Android 6.0以及以上版本無法開啟本機熱點。


代碼如下:
//創建熱點
private void createWifiHotspot() {
if (wifiManager.isWifiEnabled()) {
//如果wifi處于打開狀態,則關閉wifi,
wifiManager.setWifiEnabled(false);
}
//熱點設定
WifiConfiguration config = new WifiConfiguration();
config.SSID = WIFI_HOTSPOT_SSID;//熱點名稱
config.preSharedKey = WIFI_PWD;//熱點密碼
config.hiddenSSID = false;//是否隱藏密碼
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.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) {
tv_state.setText("熱點已開啟 熱點名稱:" + WIFI_HOTSPOT_SSID +" 密碼:"+WIFI_PWD+"\n");
} else {
tv_state.setText("創建熱點失敗");
}
} catch (Exception e) {
e.printStackTrace();
tv_state.setText("創建熱點失敗");
}
}
uj5u.com熱心網友回復:
6.0及以上動態獲取權限,看是不是沒權限。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/156496.html
標籤:Android
