/** * 关闭当前的Wifi网络 * @return */ public boolean disconnectCurrentNetwork(){ if(mWifiManager != null && mWifiManager.isWifiEnabled()){ int netId = mWifiManager.getConnectionInfo().getNetworkId(); mWifiManager.disableNetwork(netId); return mWifiManager.disconnect(); } return false; }
/** * 断开指定ID的网络 * @param netId * @param context */ public void disconnectWifi(int netId, Context context) { wifiManager.disableNetwork(netId); wifiManager.disconnect(); }
public void disconnect(int networkId) { mWifiManager.disableNetwork(networkId); mWifiManager.disconnect(); }
/** * 断开指定ID的网络. */ public void disConnectionWifi(int netId) { mWifiManager.disableNetwork(netId); mWifiManager.disconnect(); }
/** * 断开指定ID的wifi * @param networkId */ @RequiresPermission(Manifest.permission.CHANGE_WIFI_STATE) public void disconnect(int networkId) { mWifiManager.disableNetwork(networkId); mWifiManager.disconnect(); } }
/** * 断开指定ID的wifi */ @RequiresPermission(Manifest.permission.CHANGE_WIFI_STATE) public void disconnect(int networkId) { mWifiManager.disableNetwork(networkId); mWifiManager.disconnect(); } }
/** * 指定されたネットワークが反映されているかをチェックして、接続を行う. * * @param networkId ネットワークID * @param targetSSID 接続するSSID * @return 接続に成功した場合はtrue、それ以外はfalse */ private boolean connectWifi(final int networkId, final String targetSSID) { String ssid = targetSSID.replace("\"", ""); mWifiMgr.startScan(); for (ScanResult result : mWifiMgr.getScanResults()) { if (result.SSID.replace("\"", "").equals(ssid)) { WifiInfo info = mWifiMgr.getConnectionInfo(); if (info != null) { mWifiMgr.disableNetwork(info.getNetworkId()); } return mWifiMgr.enableNetwork(networkId, true); } } return false; }
boolean enableNework(String ssid, Context cxt) { boolean state = false; WifiManager wm = (WifiManager) cxt.getSystemService(Context.WIFI_SERVICE); if (wm.setWifiEnabled(true)) { List<WifiConfiguration> networks = wm.getConfiguredNetworks(); Iterator<WifiConfiguration> iterator = networks.iterator(); while (iterator.hasNext()) { WifiConfiguration wifiConfig = iterator.next(); if (wifiConfig.SSID.equals(ssid)) state = wm.enableNetwork(wifiConfig.networkId, true); else wm.disableNetwork(wifiConfig.networkId); } wm.reconnect(); } return state; }
/** * 指定されたネットワークが反映されているかをチェックして、接続を行う. * * @param networkId ネットワークID * @param targetSSID 接続するSSID * @return 接続に成功した場合はtrue、それ以外はfalse */ private boolean connectWifi(final int networkId, final String targetSSID) { saveWiFiSSID(); String ssid = targetSSID.replace("\"", ""); mWifiMgr.startScan(); for (ScanResult result : mWifiMgr.getScanResults()) { if (result.SSID.replace("\"", "").equals(ssid)) { WifiInfo info = mWifiMgr.getConnectionInfo(); if (info != null) { mWifiMgr.disableNetwork(info.getNetworkId()); } return mWifiMgr.enableNetwork(networkId, true); } } return false; }
/** * 接入某个wifi热点 */ public static boolean addNetWork(WifiConfiguration config, Context context) { WifiManager wifimanager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); WifiInfo wifiinfo = wifimanager.getConnectionInfo(); if (null != wifiinfo) { wifimanager.disableNetwork(wifiinfo.getNetworkId()); } boolean result = false; if (config.networkId > 0) { result = wifimanager.enableNetwork(config.networkId, true); wifimanager.updateNetwork(config); } else { int i = wifimanager.addNetwork(config); result = false; if (i > 0) { wifimanager.saveConfiguration(); return wifimanager.enableNetwork(i, true); } } return result; }