安卓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();
        }

    }
经验分享 程序员 微信小程序 职场和发展