關於WIFI的開啓關閉與鏈接熱點

一、須要申請的權限
  1. android.permission.ACCESS_WIFI_STATE
  2. android.permission.CHANGE_WIFI_STATE
  3. android.permission.WAKE_LOCK
複製代碼
二、相關操做的代碼
  1.                 WifiManager wifi = (WifiManager) context
  2.                                 .getSystemService(Context.WIFI_SERVICE);
  3.                 if (!wifi.isWifiEnabled()) {  //若是wifi沒有開啓,則開啓。
  4.                         wifi.setWifiEnabled(true);
  5.                 }

  6.                 WifiConfiguration wc = new WifiConfiguration();
  7.                 wc.SSID = "\"SSID\"";      //配置wifi的SSID,即該熱點的名稱,如:TP-link_xxx
  8.                 wc.preSharedKey = "\"password\"";            //該熱點的密碼
  9.                 wc.hiddenSSID = true;
  10.                 wc.status = WifiConfiguration.Status.ENABLED;
  11.                 wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
  12.                 wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
  13.                 wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
  14.                 wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
  15.                 wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
  16.                 wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
  17.                 int res = wifi.addNetwork(wc);
  18.                 Log.d("WifiPreference", "add Network returned " + res);
  19.                 boolean b = wifi.enableNetwork(res, true);
  20.                 Log.d("WifiPreference", "enableNetwork returned " + b);
複製代碼
三、注意 若是遇到force-close, 選wait便可, 由於啓動wifi須要幾秒鐘, UI若是5妙鍾還沒反映的話, 系統會給你這個force close exception
相關文章
相關標籤/搜索