android - 以编程方式设置 Android IP、DNS、GATEWAY 设置

标签 android set wifi ip

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

最佳答案

您可以通过编程方式更改系统设置。

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

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

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

    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");

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

有关设置选项的信息,请访问此处的引用: Settings.System | Android Developers

关于android - 以编程方式设置 Android IP、DNS、GATEWAY 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106502/

相关文章:

android - 如何将焦点设置到 AlertDialog 中的特定输入字段?

android - 为什么我们在 OpenGL (ES) android 中以字节为单位分配 block 而不是 float ,尽管我们大部分时间都使用 float

java - 类之间丢失数据

javascript - 为什么 getter 返回旧值

c++ - std::set 为数组中的每个元素

ios - 当我的 iPhone 手机中的 wifi 连接时打开一些链接

android - Google+ PlusClient getCurrentLocation() 方法

MySQL SET 在第一列和第二列上的排名

ESP32 的 Core 1 和 0 不能单独工作

通过 WiFi/BT 传输 iPhone RS232 数据