web-dev-qa-db-ja.com

プログラムでAndroid IP、DNS、GATEWAY設定を設定

Wi-FiのIPアドレス、DNSアドレス、ゲートウェイをAndroid Java、つまりプログラムで設定するにはどうすればよいですか。値。

21
faheem

プログラムでシステム設定を変更できます。

まず、「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");

現在の設定には同じ方法でアクセスできますが、「putString」の代わりに「getString」を使用します。

設定オプションの詳細については、こちらのリファレンスをご覧ください: Settings.System | Android Developers

27
Flexiweb

アプリケーションからこれを行うことはできません。

お使いの携帯電話のアプリケーションで携帯電話の設定を自由に変更しますか?

1
Peter Knego

それが役立つかどうかはわかりませんが、ワイヤレス設定で特定のアクセスポイントに代替のIP、ゲートウェイ、DNSなどを手動で設定することは可能です。これを自動的に実行できるのか、インテントを使用して実行できるのかは別の質問ですか?

私はこれを見ただけで役立つかもしれません

Androidを使用してアプリケーションからWi-Fi設定画面を呼び出すにはどうすればよいですか

0
Bear