package com.minggo.pluto.util;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import java.util.Locale;
/**
*
*/
public class NetworkUtils {
public static final int NET_TYPE_NOT = 0x00;
public static final int NET_TYPE_WIFI = 0x01;
public static final int NET_TYPE_CM_WAP = 0x02;
public static final int NET_TYPE_CM_NET = 0x03;
public static boolean isNetworkConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnectedOrConnecting()) {
if (networkInfo.getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
/**
* 获取当前网络类型
*
* @return 0:没有网络 1:WIFI网络 2:WAP网络 3:NET网络
*/
public static int getNetworkType(Context context) {
int netType = NetworkUtils.NET_TYPE_NOT;
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo == null) {
return netType;
}
int networkInfoType = networkInfo.getType();
if (networkInfoType == ConnectivityManager.TYPE_MOBILE) {
String extraInfo = networkInfo.getExtraInfo();
if (!StringUtils.isEmpty(extraInfo)) {
if (extraInfo.toLowerCase(Locale.getDefault()).equals("cmnet")) {
netType = NetworkUtils.NET_TYPE_CM_NET;
} else {
netType = NetworkUtils.NET_TYPE_CM_WAP;
}
}
} else if (networkInfoType == ConnectivityManager.TYPE_WIFI) {
netType = NetworkUtils.NET_TYPE_WIFI;
}
return netType;
}
}