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

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

  • 在Android设备中添加我自己的键盘而不是默认键盘作为输入
  • 如何在Android中启动我的APP的辅助function设置页面?
  • 键盘建议导致部分Android EditText.setError()消息无法显示
  • 无法在Android中以编程方式应用系统屏幕亮度
  • 如何刷新PreferenceActivity以显示设置中的更改?
  • ListPreference默认值未显示
  • 在Eclipse中构建Android APK的多个(测试/产品)版本
  • 如何在微调器中设置位置?
  • 您可以以编程方式更改系统设置。

    首先,您需要在’AndroidManifest.xml’中请求’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开发者

    您无法从应用程序执行此操作。

    您是否希望手机上的应用程序随意更改手机设置?

    不确定它会有所帮助,但可以在无线设置中为特定接入点手动设置备用IP,网关,dns等。 您是自动执行此操作还是使用意图是另一个问题?

    我刚刚看到这可能会有所帮助

    如何使用Android从我的应用程序调用Wi-Fi设置屏幕

    以下代码也可以这样做:

      WifiManager mWifiManager = (WifiManager)mContext.getSystemService(Context.WIFI_SERVICE); DhcpInfo dhcpInfo = mWifiManager.getDhcpInfo(); int dns1 = dhcpInfo.dns1; int dns2 = dhcpInfo.dns2;