【常用工具类】NetUtil(检测当前网络状态)
2015-12-29 14:04
561 查看
public class NetUtil { /** * 检测网络是否可用 * * @return */ public static boolean isConnected(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); return activeNetwork != null && activeNetwork.isConnectedOrConnecting(); } /** * 检测网络是否为 wifi * * @return */ public static boolean isConnectionTypeWifi(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (activeNetwork == null) { return false; } boolean isWifi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI; return isWifi; } /** * 获取当前网络类型 * * @return 0:没有网络 1:WIFI网络 2:WAP网络 3:NET网络 */ public static final int NETTYPE_WIFI = 0x01; public static final int NETTYPE_CMWAP = 0x02; public static final int NETTYPE_CMNET = 0x03; public int getNetworkType() { int netType = 0; 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) { String extraInfo = networkInfo.getExtraInfo(); if (!StringUtils.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; } /** * 打开设置界面 */ public static void openSetting(Activity activity) { if (android.os.Build.VERSION.SDK_INT > 10) { activity.startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 1); } else { activity.startActivityForResult(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS), 1); } } /** * 打开 wifi 设置界面 */ public void openWifiSetting(Activity activity) { Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS"); activity.startActivityForResult(wifiSettingsIntent, 1); } }