5

再次陷入同样的​​问题。

我发现我们可以像这样设置静态系统设置:

System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "1"); // to define it use static ip's
System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP,"192.168.1.15");
System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK,"255.255.255.0");
System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1,"192.168.1.1");
System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY,"192.168.1.1");

没有成功!

我不明白什么时候设置这些设置?

我应该在创建 wifi 配置之前还是在保存 wifi 配置之后,甚至在激活它之前或之后执行它?

但是,我已经尝试了所有可能的情况,当我检查 Android WiFi 设置时,我发现它仍在 DHCP 上。

之前的一个问题,即如何在 Android 3.x 或 4.x 上以编程方式配置静态 IP 地址、网络掩码、网关已经完全毁了我的 android 设备,现在它不能再打开它的 WiFi。

我还在我的 HTC 手机上尝试了静态 IP,但没有成功,它始终处于 DHCP 模式!

我需要调用“重新连接”命令吗?如果是,那么以何种方式?

4

2 回答 2

4

我认为你应该看起来像:

android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_STATIC_IP,"192.168.1.15");
android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.1.1");        
android.provider.Settings.System.putString(getContentResolver(),android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.1.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_USE_STATIC_IP, "1");

不要忘记清单:

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

关于您设备的 WiFi 问题,您可以尝试以编程方式打开 WIFI。这篇文章可能会有所帮助: 如何以编程方式关闭 Android 设备上的 WiFi?

于 2012-09-12T19:46:36.347 回答
2

一年多后,我放弃了设置静态IP(或DHCP,DNS,...)。根本不可能,或者更好的是,它是不允许的(来自任意应用程序)。

有人说:

“您可以使用 NDK - 这使您可以在 Android 下对 Linux 进行低级别访问。警告:不要指望这会被记录或支持。他们甚至可能禁止您进入 Android Market(我知道我会这样做)”

对于那些想对 NDK 有一些经验的人,这里是一个链接:

http://developer.android.com/tools/sdk/ndk/index.html

祝你好运,如果你发现一些有趣的东西,请提供一些反馈!

于 2014-01-08T15:00:55.197 回答