2012-03-03 7 views
1

Android 3.2搭載のMotorola XoomでWi-Fiプロキシ設定でいくつかのテストを行っています。まず第一に、これは2.xリリースと比較して大きな前進です。プロキシを設定すると、ほとんどのアプリケーションが自動的にそれを取得します(2.xでは、ブラウザのみがそれを使用します)。だから私はヤフーファイナンス、ブルームバーグなどのようなものを試してみました。私が得ることができないのは、Firefox、Operaなどの一部のブラウザがプロキシを経由しないことです。どのように彼らはそれをやったか考えています。基本的に私のアプリでは、私はプロキシを使用するか、直接接続しようとするかを決めることができます。私のテストに基づいて、特別なことをしなければ、デフォルトはプロキシを使用しています。では、私のアプリがFirefox/Operaのようなバイパスプロキシを許可するにはどうすればいいですか?Androidアプリケーションがネットワークプロキシを使用するかどうかを決定する方法

ありがとうございます! APIのバージョン> = 11(アンドロイド3.1以上)を持つデバイスで

答えて

7

答えはここにある:

Android's proxy confusing documentation resources

あなたは単にのProxySelectorクラスからのgetDefault()メソッドを呼び出して、デフォルトのAndroidの実装を取得することができますProxySelectorの

ProxySelector defaultProxySelector = ProxySelector.getDefault(); 
Proxy proxy = null; 
List<Proxy> proxyList = defaultProxySelector.select(uri); 
if (proxyList.size() > 0) 
{ 
    proxy = proxyList.get(0); 
    Log.d(TAG, "Current Proxy Configuration: " + proxy.toString()); 
} 

私はいくつかのAndroidアプリケーションは、(あなたがオペラとFirefoxが言った)単純にこのチェックを行うが、どのようにシステムの仕事の世話をしないハンドリング、いくつかのネイティブのプロキシを実装していないと思います。

+0

ありがとうございます、LeChuck。しかし、私のテストに基づいて、私はあなたのアプリで言ったような何かをする必要はありません。私はちょうど基本的なHttpClientをやります、私はそれが私のXoomのプロキシを経由していることがわかります。だから私は、内蔵ネットワークスタックを使用している場合、デフォルトでは、すべてのネットトラフィックがハニーコムとICSのプロキシを通過すると考えています。これは、各アプリケーションがプロキシを単独で設定する必要がないため、一般的に行うべき正しいことです。しかし私のスペシャルアプリでは、私はプロキシを "バイパス"して、直接接続しようとします。私はそれを可能にする設定があるかどうか疑問に思っています。何か案が? – Safecoder

+0

[こちら](http://android-developers.blogspot.com/2011/09/androids-http-clients.html)のようにHttpClientを使用しないようにしてください。[here](http://www.android -proxy.com/2011/11/may-force-be-with-you-use.html)(少なくともプロキシの詳細については) Androidチームがサポートしていないようです。 HttpURLConnectionクラスは、必要に応じて、プロキシを明示的に指定するように開発者に要求します。 – lechuckcaptain

+0

情報ありがとうございます。それは意味があり、私はそれを試してみましょうとあなたに知らせる... – Safecoder

関連する問題