Android之如何获取网络类型并判断是否可用

ConnectivityManager主要管理和网络连接相关的操作,通过getSystemService(Context.CONNECTIVITY_SERVICE)

 

取网络连接的服务。因此我们可以通过ConnectivityManager这个类下的getActiveNetworkInfo()方法来获取当前的网络

 

连接状态,这个方法返回的是NetworkInfo对象, NetworkInfo描述了当前网络Mobile和Wifi的状态。NetworkInfo类中有

 

三个方法:(1getType()  获取当前网络的类型,比如mobileor Wi-Fi2getTypeName() 获取当前网络的类型

 

名,比如 “WIFI” or “MOBILE”。(3isAvailable()方法用来判断当前网络连接是否可用,可用返回true,反之返回false

 

关于如何查看当前网络的类型,请参看以下代码:

 

 

public  String getNetworkStateName(Context context) {
    	ConnectivityManager mConnectivityManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo mNetworkInfo = mConnectivityManager
				.getActiveNetworkInfo();
		if(mNetworkInfo.isAvailable()){
			//获取网络类型
			 int netWorkType =mNetworkInfo.getType();
			 if(netWorkType==ConnectivityManager.TYPE_WIFI){
				 return "当前网络是WIFI";
			 }else if(netWorkType==ConnectivityManager.TYPE_MOBILE){
				 return "当前网络是3G";
			 }else{
				 return "其它方式";
			 }
			
		}else{
			return "当前无网络";
		}
    	
    }

 

 

 

 

 

 

最后在AndroidMainfest文件中添加访问权限:

 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

 

 

 

 

 

 

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44057903 情绪控_

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值