Android4.0.3 IP,子网掩码,网关修改

public void setStaticIp(String ip, String netmask,String gateway) {
WifiManager mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
mWifiManager.setWifiEnabled(false);
EthernetManager mEthManager = (EthernetManager) getSystemService(Context.ETHERNET_SERVICE);

EthernetDevInfo info = mEthManager.getSavedConfig();
info.setIpAddress(ip);
info.setNetMask(netmask);
info.setGateWay(gateway);
mEthManager.updateDevInfo(info);
enableEth(mEthManager);
}

以下是利用反射机制,重新使能以太网
private void enableEth(final EthernetManager mEthManager) {
try {
ReflectionHelper.invokeMethod(mEthManager, "setEnabled", false);
BackupManager.dataChanged("com.android.providers.settings");

new Thread() {
public void run() {
try {
ReflectionHelper.invokeMethod(mEthManager, "setEnabled", true);
BackupManager .dataChanged("com.android.providers.settings");
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
};
}.start();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}

你可能感兴趣的:(android_经验积累)