Roo*_*kie 7 android android-emulator
我在模拟器中的2.2和2.3版本的android中启用了代理设置,并且互联网开始工作但我安装了一个应用程序(仅适用于代理)仍然无法正常工作.当我为4.0版本模拟器做同样的事情时,它正在那里工作.任何人都可以告诉,为什么它不工作在2.2和2.3版本虽然互联网工作.
我还在Eclipse环境中为模拟器设置了代理.它正确地将代理地址添加到模拟器启动命令.
然而,在我进入模拟器中的WiFi设置并输入代理地址之前,我仍然只在某些应用程序(如浏览器)而不是其他应用程序(如地图)中工作.
请注意,您无法http://
在此设置中使用DNS名称,因为您可以在模拟器启动行中使用.(花了一个小时才搞清楚.)
在模拟器中配置代理允许浏览器应用程序使用它,但任何其他应用程序都需要具有 HTTP 代理能力才能访问互联网。
假设您使用 DefaultHttpClient 类连接到互联网,则必须在建立连接之前将以下代码添加到您的 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);
Run Code Online (Sandbox Code Playgroud)
如果您使用经过身份验证的代理,则还需要以下行:
client.getCredentialsProvider().setCredentials(
new AuthScope("yourproxy.domain.com", 3128),
new UsernamePasswordCredentials("proxyusername", "password"));
Run Code Online (Sandbox Code Playgroud)
由于您希望相同的代码在模拟器和真实手机上都能工作,因此您应该向应用程序添加一个设置,允许用户打开或关闭代理的使用,并输入代理服务器/端口/凭据而不是在应用程序中对它们进行硬编码。