Android网络连接判断与处理

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。

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


判断是否有网络连接
public boolean isNetworkConnected(Context context) {  
		if (context != null) {  
			ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
					.getSystemService(Context.CONNECTIVITY_SERVICE);  
			NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();  
			if (mNetworkInfo != null) {  
				return mNetworkInfo.isAvailable();  
			}  
		}  
		return false;  
	}  

判断WIFI网络是否可用
public boolean isWifiConnected(Context context) {  
		if (context != null) {  
			ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
					.getSystemService(Context.CONNECTIVITY_SERVICE);  
			NetworkInfo mWiFiNetworkInfo = mConnectivityManager  
					.getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
			if (mWiFiNetworkInfo != null) {  
				return mWiFiNetworkInfo.isAvailable();  
			}  
		}  
		return false;  
	}  

判断MOBILE网络是否可用
public boolean isMobileConnected(Context context) {  
		if (context != null) {  
			ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
					.getSystemService(Context.CONNECTIVITY_SERVICE);  
			NetworkInfo mMobileNetworkInfo = mConnectivityManager  
					.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  
			if (mMobileNetworkInfo != null) {  
				return mMobileNetworkInfo.isAvailable();  
			}  
		}  
		return false;  
	}  

获取当前网络连接的类型信息
public static int getConnectedType(Context context) {  
		if (context != null) {  
			ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
					.getSystemService(Context.CONNECTIVITY_SERVICE);  
			NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();  
			if (mNetworkInfo != null && mNetworkInfo.isAvailable()) {  
				return mNetworkInfo.getType();  
			}  
		}  
		return -1;  
	}  

猜你喜欢

转载自mrhe.iteye.com/blog/1908536