一起学android之如何获取网络类型并判断是否可用(20)

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

你可能感兴趣的:(java,android,网络类型,NetworkInfo)