我在模拟器中的2.2和2.3版本的
android中启用了代理设置,并且互联网开始工作但我安装了一个应用程序(仅适用于代理)仍然无法正常工作.当我为4.0版本模拟器做同样的事情时,它正在那里工作.任何人都可以告诉,为什么它不工作在2.2和2.3版本虽然互联网工作.
解决方法
在模拟器中配置代理允许浏览器应用程序使用它,但任何其他应用程序都需要能够访问Internet的HTTP代理.
假设您使用DefaultHttpClient类连接到Internet,您必须在进行连接之前将以下代码添加到Android应用程序:
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"));
由于您希望相同的代码既可以在模拟器上运行,也可以在真实的手机上运行,因此您应该为应用程序添加一个设置,允许用户打开或关闭代理使用,并输入代理服务器/端口/凭据而不是在应用程序中对它们进行硬编码.