Android 使用cmwap访问互联网的办法
来源:互联网 发布:微博爬虫java免登录 编辑:程序博客网 时间:2024/06/03 22:01
原文链接:http://www.oschina.net/code/snippet_4873_4914
[代码] [Java]代码
01
//检查网络 是否正常
02
private
boolean
checkNet(){
03
04
ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
05
06
netWrokInfo = manager.getActiveNetworkInfo();
07
if
(netWrokInfo ==
null
|| !netWrokInfo.isAvailable()) {
08
Toast.makeText(
this
,
"当前的网络不可用,请开启\n网络"
, Toast.LENGTH_LONG).show();
09
return
false
;
10
}
11
else
if
(netWrokInfo.getTypeName().equals(
"MOBILE"
)& netWrokInfo.getExt raInfo().equals(
"cmwap"
)){
12
Toast.makeText(
this
,
"cmwap网络不可用,请选择cmnet网络"
, Toast.LENGTH_LONG).show();
13
return
false
;
14
}
else
{
15
16
return
true
;
17
}
18
}
[代码] [Java]代码
01
/**
02
Android 使用cmwap GPRS 方式联网
03
CMWAP和CMNET只是中国移动为其划分的两个GPRS接入方式。中国移动对CMWAP作了一定的限制,主要表现在CMWAP接入时只能访问 GPRS网络内的IP(10.*.*.*),而无法通过路由访问Internet,我们用CMWAP浏览Internet上的网页 就是通过WAP网关协议或它提供的HTTP代理服务实现的。 因此,只有满足以下两个条件的应用 才能在中国移动的CMWAP接入方式下正常工作:
04
1.应用程序 的网络请求基于HTTP协议。
05
2.应用程序 支持HTTP代理协议或WAP网关协议。
06
这也就是为什么我们的G1无法正常用CMWAP的原因。
07
一句话:CMWAP是移动限制的,理论上只能上WAP网,而CMNET可以用GPRS浏览WWW
08
方法一:
09
*/
10
URL url =
new
URL(
"http://10.0.0.172/img/baidu_logo.gif"
);
11
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
12
conn.setRequestProperty(
"X-Online-Host"
,
"www.baidu.com"
);
13
conn.setDoInput(
true
);
14
conn.connect();
15
InputStream is = conn.getInputStream();
16
bitmap = BitmapFactory.decodeStream(is);
17
is.close();
18
conn.disconnect();
[代码] [Java]代码
01
package
org.apache.http.examp les.client;
02
03
import
org.apache.http.Header;
04
import
org.apache.http.HttpEntity;
05
import
org.apache.http.HttpHost;
06
import
org.apache.http.HttpResponse;
07
import
org.apache.http.client.HttpClient;
08
import
org.apache.http.client.methods.HttpGet;
09
import
org.apache.http.conn.params.ConnRoutePNames;
10
import
org.apache.http.impl.client.DefaultHttpClient;
11
import
org.apache.http.util.EntityUtils;
12
13
public
class
ClientExecuteProxy {
14
15
public
static
void
main(String [] args)
throws
Exception {
16
17
HttpHost proxy =
new
HttpHost(
"10.0.0.172"
,
80
,
"http"
);
18
HttpHost target =
new
HttpHost(
"YOUR_TARGET_IP"
,
80
,
"http"
);
19
20
DefaultHttpClient httpclient =
new
DefaultHttpClient();
21
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
22
23
24
HttpGet req =
new
HttpGet(
"/"
);
25
26
System.out.println(
"executing request to "
+ target +
" via "
+ proxy);
27
HttpResponse rsp = httpclient.execute(target, req);
28
HttpEntity entity = rsp.getEntity();
29
30
System.out.println(
"----------------------------------------"
);
31
System.out.println(rsp.getStatusLine());
32
Header[] headers = rsp.getAllHeaders();
33
for
(
int
i =
0
; i<headers.length; i++) {
34
System.out.println(headers);
35
}
36
System.out.println(
"----------------------------------------"
);
37
38
if
(entity !=
null
) {
39
System.out.println(EntityUtils.toString(entity));
40
}
41
42
// When HttpClient instance is no longer needed,
43
// shut down the connection manager to ensure
44
// immediate deallocation of all system resources
45
httpclient.getConnectionManager().shutdown();
46
}
47
48
}
[代码] 在Android上建立GPRS连接
01
private
boolean
openDataConnection() {
02
// Set up data connection.
03
DataConnection conn = DataConnection.getInstance();
04
05
if
(connectMode ==
0
) {
06
ret = conn.openConnection(mContext,
"cmwap"
,
"cmwap"
,
"cmwap"
);
07
}
else
{
08
ret = conn.openConnection(mContext,
"cmnet"
,
""
,
""
);
09
}
10
11
}
[代码] Android 判断网络状态
01
/*
02
在使用Android连接网络的时候,并不是每次都能连接到网络,在这个时候,我们最好是在程序启动的时候对网络的状态进行一下判断,如果没有网络则进行即时提醒用户进行设置。
03
要判断网络状态,首先需要有相应的权限,下面为权限代码:
04
即允许访问网络状态:
05
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
06
下面为判断代码:
07
*/
08
private
boolean
NetWorkStatus() {
09
10
boolean
netSataus =
false
;
11
ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
12
13
cwjManager.getActiveNetworkInfo();
14
15
if
(cwjManager.getActiveNetworkInfo() !=
null
) {
16
netSataus = cwjManager.getActiveNetworkInfo().isAvailable();
17
}
18
19
if
(netSataus) {
20
Builder b =
new
AlertDialog.Builder(
this
).setTitle(
"没有可用的网络"
)
21
.setMessage(
"是否对网络进行设置?"
);
22
b.setPositiveButton(
"是"
,
new
DialogInterface.OnClickListener() {
23
public
void
onClick(DialogInterface dialog,
int
whichButton) {
24
Intent mIntent =
new
Intent(
"/"
);
25
ComponentName comp =
new
ComponentName(
26
"com.android.settings"
,
27
"com.android.settings.WirelessSettings"
);
28
mIntent.setComponent(comp);
29
mIntent.setAction(
"android.intent.action.VIEW"
);
30
startActivityForResult(mIntent,
0
);
// 如果在设置完成后需要再次进行操作,可以重写操作代码,在这里不再重写
31
}
32
}).setNeutralButton(
"否"
,
new
DialogInterface.OnClickListener() {
33
public
void
onClick(DialogInterface dialog,
int
whichButton) {
34
dialog.cancel();
35
}
36
}).show();
37
}
38
39
return
netSataus;
40
}
41
//通过上面的代码即可完成对网络状态的判断!
- Android 使用cmwap访问互联网的办法
- Android 使用cmwap访问互联网的办法
- Android 使用cmwap访问互联网的办法
- Android中使用cmwap接入点访问互联网的问题及解决办法
- Android中使用cmwap接入点访问互联网的问题及解决办法
- Android中使用cmwap接入点访问互联网的问题及解决办法
- Android中使用cmwap接入点访问互联网的问题及解决办法
- Android中使用cmwap接入点访问互联网的问题及解决办法
- Android中使用cmwap接入点访问互联网的问题及解决办法
- android的日积月累-进行WIFI,CMWAP和CMNET的自动判断访问
- ksoap2-android访问webservice,当网络有代理的情况(cmwap)
- Android G2手机如何使用CMWAP上网
- android WebView使用cmwap无法联网解决办法
- android WebView使用cmwap无法联网解决办法
- Android 使用cmwap GPRS 方式联网
- Android cmwap网络方式下使用 webview
- J2ME使用Socket通过cmwap接入点访问安全HTTPS
- 在java中使用cmwap方式访问php页面
- poj1276(Cash Machine + 多重背包)
- 别说你懂SQL性能优化.
- 字典树
- HDOJ 1171 Big Event in HDU (多重背包) / (母函数)
- RPM打包技术与典型SPEC文件分析
- Android 使用cmwap访问互联网的办法
- ubantu 12.04 配置 apache,php和mysql及phpmyadmin部分功能不能用和chkconfig提示/sbin/insserv: 文件不存在
- 解码流程的理解
- 原来JScript中的关键字'var'还是有文章的
- 查看电脑的开关机的时间记录
- HDU——1005(找规律)
- 快速查看系统环境变量
- 禅修程序员十诫
- 数据结构与算法之链表(四) 约瑟夫环