关于WIFI的开启关闭与连接热点

1、需要申请的权限
  1. android.permission.ACCESS_WIFI_STATE
  2. android.permission.CHANGE_WIFI_STATE
  3. android.permission.WAKE_LOCK
复制代码
2、相关操作的代码
  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);
复制代码
3、注意
如果遇到force-close, 选wait即可, 因为启动wifi需要几秒钟, UI如果5妙钟还没反映的话, 系统会给你这个force close exception

你可能感兴趣的:(关于WIFI的开启关闭与连接热点)