判断当前网络状态:是否可用,可用情况下是使用哪种网络:wifi,mobile,ethernet
需要权限:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
/*** 检测网络是否可用
* @return
*/
public boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
return ni != null && ni.isConnectedOrConnecting();
}
public static final String NETTYPE_NULL = "null";//当前无网络
public static final String NETTYPE_WIFI = "wifi";//WIFI网络
public static final String NETTYPE_MOBILE = "mobile";//移动网络
public static final String NETTYPE_ETHERNET = "ethernet";//以太网
/**
* 获取当前网络类型
*/
public String getNetworkType() {
String netType = "null";
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo == null) {
return netType;
}
int nType = networkInfo.getType();
if (nType == ConnectivityManager.TYPE_MOBILE) {
netType = NETTYPE_MOBILE;
} else if (nType == ConnectivityManager.TYPE_WIFI) {
netType = NETTYPE_WIFI;
}else if(nType == ConnectivityManager.TYPE_ETHERNET){
netType = NETTYPE_ETHERNET;
}
return netType;
}
参考文章:http://www.cnblogs.com/lee0oo0/archive/2013/09/25/3339948.html