以编程方式设置Android IP,DNS,GATEWAY设置

fah*_*eem 21 ip android set wifi

如何从android java设置wifi ip地址,dns地址,网关,即以编程方式,我没有找到任何能够存储值的方法.

小智 27

您可以以编程方式更改系统设置.

首先,您需要在'AndroidManifest.xml'中请求'WRITE_SETTINGS'权限:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
Run Code Online (Sandbox Code Playgroud)

然后,您需要使用以下代码实际更改设置:

    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "0");
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.0.2");
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS2, "192.168.0.3");
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.1");
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0");
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP, "1");
Run Code Online (Sandbox Code Playgroud)

可以通过相同的方法访问当前设置,但使用'getString'而不是'putString'.

有关设置选项的信息,请访问此处的参考: Settings.System | Android开发者

  • @Flexiweb,兄弟.它不适用于Android OS Ver 3及以上版本.你能帮忙吗? (3认同)