Android网络检测

Android涉及到网络的时候,有时候需要检测Android设备的网络状态,通常是使用ConnectivityManager来完成这项检测。

如果只是想要检测是否链接上了网络,可以参考一下代码:


ConnectivityManager connectivityManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
	if (networkInfo == null || !networkInfo.isAvailable()) {
	// 不能上网
	return false;
} else {
	// 能上网
	return true;
}


如果想要判断是指定的一种网络链接方式的话(gps或者wifi),可以参考一下代码:

ConnectivityManager connectivityManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(wifi.isConnected()){
	//true
}
if(mobile.isConnected()){
	//true
}

记得在AndroidManifest上加上权限

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



你可能感兴趣的:(android,网络)