import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.text.TextUtils;
/**
* 网络状态 工具类
* 如:检测网络是否可用,获取网络类型
*
*/
public class NetWorkUtils {
/**
* 检测网络是否可用
*
* @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();
}
private static final int NETTYPE_WIFI = 0x01;
private static final int NETTYPE_CMWAP = 0x02;
private static final int NETTYPE_CMNET = 0x03;
/**
* 获取当前网络类型
*
* @param context 上下文
* @return 0:没有网络 1:WIFI网络 2:WAP网络 3:NET网络
*/
public static int getNetworkType(Context context) {
int netType = 0;
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo == null) {
return netType;
}
int nType = networkInfo.getType();
if (nType == ConnectivityManager.TYPE_MOBILE) {
String extraInfo = networkInfo.getExtraInfo();
if (!TextUtils.isEmpty(extraInfo)) {
if (extraInfo.toLowerCase().equals("cmnet")) {
netType = NETTYPE_CMNET;
} else {
netType = NETTYPE_CMWAP;
}
}
} else if (nType == ConnectivityManager.TYPE_WIFI) {
netType = NETTYPE_WIFI;
}
return netType;
}
/**
* 获取当前网络类型
*
* @param context 上下文
*/
public static String getNetworkTypeStr(Context context) {
int i = getNetworkType(context);
switch (i) {
case 0:
return "没有网络";
case 1:
return "WIFI网络";
case 2:
return "WAP网络";
case 3:
return " 3:NET网络";
}
return "";
}
}
[Android][工具类]NetWorkUtils
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 在任何APP开发中,日期和时间是无处不在的,例如QQ、微信,每条信息都会显示发送时间,还有空间、朋友圈每一条...
- [TOC] 前言 Android SDK原生 API中,有一些常用的工具类,运用得当可以省事省力省时,何况还是An...
- 1. IMEI IMEI(International Mobile Equipment Identity)是国际移...
- 隐藏软键盘 显示软键盘 一行代码实现Android软键盘与EditText的交互 http://mp.weixin...