android – 虽然互联网正在运行,代理下的应用程序无法在模拟器中工作

前端之家收集整理的这篇文章主要介绍了android – 虽然互联网正在运行,代理下的应用程序无法在模拟器中工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在模拟器中的2.2和2.3版本的 android中启用了代理设置,并且互联网开始工作但我安装了一个应用程序(仅适用于代理)仍然无法正常工作.当我为4.0版本模拟器做同样的事情时,它正在那里工作.任何人都可以告诉,为什么它不工作在2.2和2.3版本虽然互联网工作.

解决方法

在模拟器中配置代理允许浏览器应用程序使用它,但任何其他应用程序都需要能够访问Internet的HTTP代理.

假设您使用DefaultHttpClient类连接到Internet,您必须在进行连接之前将以下代码添加到@L_502_1@应用程序:

DefaultHttpClient client = new DefaultHttpClient();

HttpHost proxy = new HttpHost("yourproxy.domain.com",3128); 
// Enter your proxy domain and port
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);

如果您使用经过身份验证的代理,则还需要具有以下行:

client.getCredentialsProvider().setCredentials(
                new AuthScope("yourproxy.domain.com",3128),new UsernamePasswordCredentials("proxyusername","password"));

由于您希望相同的代码既可以在模拟器上运行,也可以在真实的手机上运行,​​因此您应该为应用程序添加一个设置,允许用户打开或关闭代理使用,并输入代理服务器/端口/凭据而不是在应用程序中对它们进行硬编码.

猜你在找的Android相关文章