在设置网络连接时,如果设置成wap接口上网的方式后,会发现在好多基于互联网的应用无法使用。出这样的问题,主要是现在国内的主要电信运营商,把gprs拆分成两个网络,net 和wap,wap的方式只支持wap协议, net的方式支持wap ,http, soap ,和底层一点的自定义socket传输等,但费用相对来讲比wap的方式贵一点
访问ctwap,cmwap,uniwap等网络需设置代理:
获取host和port:android.net.Proxy.getDefaultHost(),android.net.Proxy.getDefaultPort();android.net.Proxy.getDefaultHost()不为空,则表示连接的网络是wap;此时,最好设置代理。设置方式如下:
1)Java.ne
访问ctwap,cmwap,uniwap等网络设置代理:
获取host和port:android.net.Proxy.getDefaultHost(),android.net.Proxy.getDefaultPort();android.net.Proxy.getDefaultHost()不为空,则表示连接的网络是wap;此时,最好设置代理。设置方式如下:
1)Java.net包中的:HttpURLConnection,它设置代理代码如下:
Proxy proxy=newProxy(java.net.Proxy.Type.HTTP,new InetSocketAddresshost,port));
HttpURLConnectionconnection=(HttpURLConnection) url.openConnection(proxy);
2)Apache的HttpClient:
DefaultHttpClienthttpclient = new DefaultHttpClient();
HttpHost proxy = newHttpHost(host,port);
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
在Android设备上,由于国内运营商将GPRS分为net和wap两个网络,导致使用wap接入点时许多基于互联网的应用无法正常工作。net支持多种协议,而wap仅限于wap协议。当检测到使用wap网络(通过android.net.Proxy.getDefaultHost()获取)时,需要设置代理以确保应用能正确连接。可以通过Java.net的HttpURLConnection或Apache的HttpClient来设置HTTP代理。


被折叠的 条评论
为什么被折叠?



