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 情绪控_

©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:上身试试 返回首页