`
zx012345
  • 浏览: 133709 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Android中使用cmwap接入点访问互联网的问题及解决办法

阅读更多
Android是个公认的好系统,但有一点对于中国用户(尤其是中国移动的wap包月用户)是十分遗憾的,那就是它对cmwap支持的不好。就拿我的HTC G2来说吧,cmwap基本上是不能用的,可惜了10元的包月费。

当然自写的程序也是一样,网络功能无法使用,总是提示(手机设置的是cmwap接入点):
java.net.UnknownHostException: Host is unresolved: www.baidu.com:80
出现baidu了?呵呵,我用的http://www.baidu.com/img/baidu_logo.gif做的测试。

对别人的软件很无奈,但对自写程序还是有办法处理的。

java里面有代理的功能,于是就试着用了一下,如下:

URL url = new URL("http://www.baidu.com/img/baidu_logo.gif");
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.172", 80));
HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
conn.disconnect();


图片是下载成功了,不过这个连接过程也太漫长了,试了几次,最快的22秒,最慢的34秒,简直无法忍受。难道就没有别的办法了吗?此时才想到j2me里使用代理的方式(白做了几年的j2me开发),不知是否也适用于android,于是试了一下:

URL url = new URL("http://10.0.0.172/img/baidu_logo.gif");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("X-Online-Host", "www.baidu.com");
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
conn.disconnect();


大功告成,能够下载,并且速度快了N倍,也试了几次,最快的1.5秒,最慢的9秒,绝大多都在5秒以内。

原来简单的东西有时候还真的很有效。
分享到:
评论
8 楼 zhuyz89 2012-05-16  
谢谢分享!
7 楼 bunnyswe 2011-09-24  
请问楼主 我在虚拟机上运行时会有这个unresolved错误 但是放到真机上就没有了 这个是为什么呢?
6 楼 JavaJ2me 2011-08-02  
2.Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.172", 80));  
添上这段代码,我的就卡到链接状态了,,为什么呢??
5 楼 无敌小蚂蚁 2011-07-27  
设置代理才行,貌似setPropertity("x-online-host",www.baidu.com)还是不行,我的系统是2.2.1的,最后设置了代理proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.172", 80));  
可以访问。
4 楼 颜小风 2011-07-05  
我用的是android的2.2版本 不行
以前没问题的,今天刚冲上花费 测试一下就不行了 不知道为啥  移动的问题?
07-05 15:04:52.727: INFO/debug(18325): java.net.UnknownHostException: Host is unresolved: maps.googleapis.com:443
3 楼 xj753277 2010-10-21  
楼主 我按你这样搞 还是不行
2 楼 zsnlovewl 2010-02-23  
楼主你用的android是那个版本的操作系统
1 楼 yicw 2010-01-07  
感谢楼主的无私分享,解决了大问题,谢谢楼主

相关推荐

    Android手机怎么用CMWAP上网?.doc

    通过以上步骤和注意事项,您可以正确配置Android手机以使用CMWAP接入点进行上网。但请记住,随着技术的发展,运营商的网络策略和设置可能会有所改变,因此在实际操作时,建议查阅最新的官方指南或咨询运营商客服。

    AndroidWIFI,CMWAP,CMNET的自动判断访问.pdf

    这两种网络接入点(APN)在连接互联网时有不同的设置和限制。 CMWAP和CMNET是中国移动提供的两种GPRS/EDGE网络接入方式。CMWAP通常用于通过手机浏览器访问WAP网站,它需要通过代理服务器,并且可能有特定的网络限制...

    手机上网接入点设置大全

    手机上网接入点设置是一个重要的操作过程,它决定了手机如何通过移动网络连接到互联网。随着智能手机的普及和移动网络技术的发展,不同运营商提供的接入点设置各具特色。本篇文章将详细介绍主流手机上网接入点的设置...

    Android网络Http通信(及cmwap处理)

    CMWAP是中国移动的非标准WAP接入点,它需要通过代理服务器进行HTTP通信。在Android中,我们可以通过设置`Proxy`对象来配置HTTP连接的代理: ```java Proxy proxy = new Proxy(Proxy.Type.HTTP, new ...

    关于cmwap网络切换

    在移动通信领域,CMWAP(China Mobile Wireless Application Protocol)是一种专为中国移动用户设计的数据连接方式,主要用于手机访问互联网或WAP网站。本教程将详细探讨如何在Android系统中进行CMWAP网络的切换和...

    三网接入点调研

    在Android客户端开发中,网络接入点(Access Point Name, 简称APN)是至关重要的组成部分,它决定了设备如何连接到互联网。本篇将详细阐述三网运营商——中国移动、中国联通和中国电信——提供的不同网络接入点及其...

    中国电信运营商接入点设置.pdf

    对于不同操作系统的手机,如Android、iOS和Symbian,设置步骤略有不同,但基本原理相同,都涉及到在手机的网络设置中创建或编辑接入点。以下是一般步骤: - Android用户通常需要进入“设置”->“无线和网络”->...

    Android 系统net和wap接入点的区别

    在Android系统中,接入点(Access Point Name,简称APN)是用于配置设备连接到互联网的方式。APN包含了网络类型、用户名、密码等信息。在Android设备上,主要有两种接入点类型:Net(网络)和Wap(无线应用协议)。...

    Android操作介绍

    - 蓝牙和APN设置:用于设备间的数据交换和网络接入点配置。 - 短信和来电铃声设置:个性化短信模板和来电铃声,提升用户体验。 - 系统垃圾清理:定期清理缓存和不必要的文件,优化手机性能。 - 屏幕截图:使用特定...

    android APN 设置

    在Android系统中,APN(Access Point Name)是设置数据连接的关键配置,它定义了设备如何连接到互联网或移动数据网络。APN包含了运营商提供的网络接入点信息,比如网络类型(2G、3G、4G、5G)、用户名、密码、服务器...

    宽带(不用) 直接上网

    3. **选择正确的接入点**:在中国,通常使用CMNET作为GPRS接入点,以获得全面的互联网访问权限。 4. **监控流量使用**:为了避免意外的高额账单,定期检查手机的流量使用情况,必要时购买流量包或调整上网习惯。 ##...

    火神G3修改wap文件

    总之,"火神G3修改wap文件"涉及的是对手机网络设置的调整,特别是针对CMWAP接入点的优化。用户需要了解这些基本概念,并谨慎操作,以确保设备能够正确无误地连接到网络。如果遇到困难,应查找相关教程或咨询技术支持...

    Android(安卓)操作系统GPRS、彩信参数设置方法.pdf

    为了在Android设备上使用这些服务,用户需要正确设置接入点名称(Access Point Names, APN)。以下是详细步骤和注意事项: 1. **CMNET连接设置** - CMNET主要用于提供全互联网访问,设置如下: - 名称:自定义,...

    Android编程获取网络连接方式及判断手机卡所属运营商的方法

    APN是运营商为数据服务配置的接入点,通常"cmnet"代表无代理的全网访问,"cmwap"则可能需要经过代理。以下代码片段展示了如何获取当前APN: ```java int getCurrentApnInUse(Context context) { int type = NONET;...

    MTK JINPENG qq2008

    在描述中提到的“接入点”问题,指的是手机网络设置,CMWAP和CMNET是中国移动提供的两种数据接入方式。CMWAP通常用于WAP服务,如浏览网页,而CMNET则提供更全面的互联网访问。在设置中选择正确的接入点对于节省流量...

    三星I9000指令

    针对文中提到的网络设置部分,特别是设置移动数据和互联网接入点(APN)的相关参数,确保以下信息正确配置是实现稳定网络连接的关键: 1. **接入点名称**:应根据运营商提供的具体名称设置。 2. **APN类型**:一般...

Global site tag (gtag.js) - Google Analytics