1

プログラムで WiFi-Proxy 設定を読み取るにはどうすればよいですか?

GalaxyS と GalaxyTab には、OS レベルでの WiFi 接続専用の独自の HTTP-Proxy 設定があります。(メニュー -> 設定 -> ワイヤレスとネットワーク -> Wi-Fi 設定 -> メニュー キー、詳細設定) そうしないと、WiFi からプロキシ サーバーを使用できないため、非常に便利な機能です。(問題http://code.google.com/p/android/issues/detail?id=1273を参照)

現在、私のアプリケーションは通常の HttpClient で http 接続を使用しています。OSからプロキシ設定を読み込んで接続したいのですが、読み方がわかりません。

getprop コマンドを使用すると、APN のプロキシ設定を読み取ることができますが、WiFi のプロキシ設定を読み取ることはできません。APN プロキシ設定は、キー「net.gprs.http-proxy」で保存されます。

adb -d shell
$ getprop net.gprs.http-proxy
getprop net.gprs.http-proxy
http://proxy.example.com:8888/
$

WiFi 画面の詳細設定は com.android.settings.wifi.AdvancedSettings に実装されており、当然、設定は /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml に保存されます。アプリケーションからファイルを読み取れないだけですよね?

Samsung が設定にアクセスするための特別な API を提供しない限り、私は立ち往生していると思いますが、そのような情報は見つかりませんでした。ところで、私のものを含む多くのアプリケーションは、グローバル HTTP プロキシ設定で大きな利点があるので、方法があることを願っています...

4

1 に答える 1

1

Android の将来のバージョンでは、net.gprs.http-proxy を使用しません。代わりに、Java VM プロパティ http.proxyHost、http.proxyPort、および http.nonProxyHosts (https も設定) を使用します。ほとんどの http スタックは既にこの標準に準拠しているため、アプリ開発者として追加の作業を行う必要はありません。

プロキシ設定は (以前と同様に) APN データベースから読み取られますが、wifi AP ごとのデータベースからも読み取られるため、wifi とモバイル データの両方にメリットがあります。

これは、HC以降で実施されています。プロキシ設定を確認したい場合は、System.getProperty("http.proxyHost") Java 呼び出しを使用できます。

于 2011-07-08T17:45:42.117 に答える