private NetStatus getNetStatus() {
ConnectivityManager connectMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectMgr.getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectMgr
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifiNetInfo = connectMgr
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (info == null || !info.isConnected()) {
return NetStatus.NO_NET;
} else if (wifiNetInfo != null && wifiNetInfo.isAvailable() && wifiNetInfo.isConnected()) {
return NetStatus.WIFI_NET;
} else if (mobNetInfo != null && mobNetInfo.isAvailable() && mobNetInfo.isConnected()) {
return NetStatus.MOB_NET;
}
return NetStatus.NO_NET;
}
Android联网主要使用HttpURLConneciton和HttpClient进行联网,在手机联网的时候,我们优先选择wifi网络,其次在选择移动网络,这里所述移动网络主要指cmwap。
大家都知道cmwap连接需要设置代理地址和端口,那么,android程序中如何设置代理呢?
1、HttpURLConnection设置代理
- //当我们使用的是中国移动的手机网络时,下面方法可以直接获取得到10.0.0.172,80端口
- String host=android.net.Proxy.getDefaultHost();//通过andorid.net.Proxy可以获取默认的代理地址
- int port =android.net.Proxy.getDefaultPort();//通过andorid.net.Proxy可以获取默认的代理端口
- SocketAddress sa=new InetSocketAddress(host,port);
- //定义代理,此处的Proxy是源自java.net
- Proxy proxy=new Proxy(java.net.Proxy.Type.HTTP,sa);
- URL getUrl = new URL(“www.baidu.com”);
- HttpURLConnection con = (HttpURLConnection) getUrl.openConnection(proxy);//设置代理
//当我们使用的是中国移动的手机网络时,下面方法可以直接获取得到10.0.0.172,80端口
String host=android.net.Proxy.getDefaultHost();//通过andorid.net.Proxy可以获取默认的代理地址
int port =android.net.Proxy.getDefaultPort();//通过andorid.net.Proxy可以获取默认的代理端口
SocketAddress sa=new InetSocketAddress(host,port);
//定义代理,此处的Proxy是源自java.net
Proxy proxy=new Proxy(java.net.Proxy.Type.HTTP,sa);
URL getUrl = new URL(“www.baidu.com”);
HttpURLConnection con = (HttpURLConnection) getUrl.openConnection(proxy);//设置代理
2、HttpClient设置代理
- DefaultHttpClient httpClient=new DefaultHttpClient();
- String host=Proxy.getDefaultHost();//此处Proxy源自android.net
- int port = Proxy.getPort(context);//同上
- HttpHost httpHost = new HttpHost(host, port);
- //设置代理
- httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY,httpHost);
- HttpGet httpGet=new HttpPost("<a href="http://www.baidu.com">www.baidu.com</a>");
- HttpResponse response=httpClient.execute(httpGet);