package com.letv.watchball.utils; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; import com.letv.watchball.LetvApplication; public class NetWorkTypeUtils { public static final int NETTYPE_NO = 0; public static final int NETTYPE_WIFI = 1; public static final int NETTYPE_2G = 2; public static final int NETTYPE_3G = 3; public static boolean isNetAvailable() { return NetWorkTypeUtils.getAvailableNetWorkInfo() == null; } public static boolean isThirdGeneration() { TelephonyManager telephonyManager = (TelephonyManager) LetvApplication .getInstance().getSystemService(Context.TELEPHONY_SERVICE); int netWorkType = telephonyManager.getNetworkType(); switch (netWorkType) { case TelephonyManager.NETWORK_TYPE_GPRS: case TelephonyManager.NETWORK_TYPE_CDMA: case TelephonyManager.NETWORK_TYPE_EDGE: return false; default: return true; } } public static boolean isWifi() { NetworkInfo networkInfo = getAvailableNetWorkInfo(); if (networkInfo != null) { if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) { return true; } } return false; } public static NetworkInfo getAvailableNetWorkInfo() { NetworkInfo activeNetInfo = null; try { ConnectivityManager connectivityManager = (ConnectivityManager) LetvApplication .getInstance().getSystemService( Context.CONNECTIVITY_SERVICE); activeNetInfo = connectivityManager.getActiveNetworkInfo(); } catch (Exception e) { e.printStackTrace(); return null; } if (activeNetInfo != null && activeNetInfo.isAvailable()) { return activeNetInfo; } else { return null; } } public static String getNetWorkType() { String netWorkType = ""; NetworkInfo netWorkInfo = getAvailableNetWorkInfo(); if (netWorkInfo != null) { if (netWorkInfo.getType() == ConnectivityManager.TYPE_WIFI) { netWorkType = "1"; } else if (netWorkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { TelephonyManager telephonyManager = (TelephonyManager) LetvApplication .getInstance().getSystemService( Context.TELEPHONY_SERVICE); switch (telephonyManager.getNetworkType()) { case TelephonyManager.NETWORK_TYPE_GPRS: netWorkType = "2"; break; case TelephonyManager.NETWORK_TYPE_EDGE: netWorkType = "3"; break; case TelephonyManager.NETWORK_TYPE_UMTS: netWorkType = "4"; break; // case TelephonyManager.NETWORK_TYPE_HSDPA: // netWorkType = "5"; // break; // case TelephonyManager.NETWORK_TYPE_HSUPA: // netWorkType = "6"; // break; // case TelephonyManager.NETWORK_TYPE_HSPA: // netWorkType = "7"; // break; case TelephonyManager.NETWORK_TYPE_CDMA: netWorkType = "8"; break; case TelephonyManager.NETWORK_TYPE_EVDO_0: netWorkType = "9"; break; case TelephonyManager.NETWORK_TYPE_EVDO_A: netWorkType = "10"; break; case TelephonyManager.NETWORK_TYPE_1xRTT: netWorkType = "11"; default: netWorkType = "-1"; } } } return netWorkType; } public static int getNetType() { ConnectivityManager connectivityManager = (ConnectivityManager) LetvApplication .getInstance().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); if (networkInfo != null && networkInfo.isAvailable()) { if (ConnectivityManager.TYPE_WIFI == networkInfo.getType()) { return NETTYPE_WIFI; } else { TelephonyManager telephonyManager = (TelephonyManager) LetvApplication .getInstance().getSystemService( Context.TELEPHONY_SERVICE); switch (telephonyManager.getNetworkType()) { case TelephonyManager.NETWORK_TYPE_GPRS: case TelephonyManager.NETWORK_TYPE_CDMA: case TelephonyManager.NETWORK_TYPE_EDGE: return NETTYPE_2G; default: return NETTYPE_3G; } } } else { return NETTYPE_NO; } } }