/**
* 检测网络是否可用
*
* @param context
* @return
*/
public static boolean isNetworkConnected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
return ni != null && ni.isConnectedOrConnecting();
}
/**
* 网络类型
*
* @author JerehSoft
*/
public class Network {
public final static int NETTYPE_NONE = 0x00; // 没有网络
public final static int NETTYPE_WIFI = 0x01; // WIFI网络
public final static int NETTYPE_2G = 0x02; // 2G网络
public final static int NETTYPE_3G = 0x03; // 3G网络
public final static int NETTYPE_4G = 0x04; // 4G网络
}
/**
* 获取当前网络类型
*
* @param context
* @return
*/
public static int getNetworkType(Context context) {
int netType = Network.NETTYPE_NONE;
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni != null) {
if (!ni.isConnected()) {
netType = Network.NETTYPE_NONE;
} else {
String type = ni.getTypeName();
if (type.toLowerCase().equals("gsm")
|| type.toLowerCase().equals("gprs")
|| type.toLowerCase().equals("edge")) {
netType = Network.NETTYPE_2G;
} else if (type.toLowerCase().startsWith("cdma")
|| type.toLowerCase().equals("umts")
|| type.toLowerCase().equals("1xrtt")
|| type.toLowerCase().equals("ehrpd")
|| type.toLowerCase().equals("hsupa")
|| type.toLowerCase().equals("hsdpa")
|| type.toLowerCase().equals("hspa")) {
netType = Network.NETTYPE_3G;
} else if (type.toLowerCase().equals("lte")
|| type.toLowerCase().equals("umb")
|| type.toLowerCase().equals("hspa+")) {
netType = Network.NETTYPE_4G;
}
}
}
return netType;
}
检测网络是否可用 网络类型
最新推荐文章于 2018-12-15 09:12:59 发布