安卓Wifi设置DHCP以及静态IP
静态IP参考:
DHCP代码如下:
public static void setWifiDHCP() { try { WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE); WifiConfiguration wifiConfig = null; WifiInfo connectionInfo = wifiManager.getConnectionInfo(); //得到连接的wifi网络 List<WifiConfiguration> configuredNetworks = wifiManager.getConfiguredNetworks(); for (WifiConfiguration conf : configuredNetworks) { if (conf.networkId == connectionInfo.getNetworkId()) { wifiConfig = conf; break; } } Class ipAssignmentCls = Class.forName("android.net.IpConfiguration$IpAssignment"); Method setIpAssignmentMethod = wifiConfig.getClass().getDeclaredMethod("setIpAssignment", ipAssignmentCls); setIpAssignmentMethod.invoke(wifiConfig, IpConfiguration.IpAssignment.DHCP); int netId = wifiManager.addNetwork(wifiConfig); wifiManager.disableNetwork(netId); wifiManager.enableNetwork(netId, true); } catch (IllegalAccessException | InvocationTargetException | ClassNotFoundException | NoSuchMethodException e) { e.printStackTrace(); } }