获取有关系统代理的信息

时间:2012-01-11 16:25:19

标签: android proxy

我在我的Android应用程序上使用HttpClient。某些用户可以在其设备上配置系统代理。我如何获取信息? 从这answer我知道你可以做类似的事情:

DefaultHttpClient httpclient = new DefaultHttpClient();

HttpHost proxy = new HttpHost("someproxy", 8080);
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

问题是我不知道在哪里可以找到代理的主机名和端口。

1 个答案:

答案 0 :(得分:0)

试试这个:

DefaultHttpClient httpclient = new DefaultHttpClient();

String proxyString = Settings.Secure.getString(getApplicationContext().getContentResolver(), Settings.Secure.HTTP_PROXY);

if (proxyString != null)
{   
    String proxyAddress = proxyString.split(":")[0];
    int proxyPort = Integer.parseInt(proxyString.split(":")[1]);
    HttpHost proxy = new HttpHost(proxyAddress, proxyPort);

    httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
}

我没有通过测试。找到here