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 に答える