Android examples for Network:Network Status
get Network Connected Type, return values such as: 2G, 3G, 4G
//package com.java2s; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; public class Main { public static String getConnectedType(Context context) { String netstyle = ""; if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager .getActiveNetworkInfo(); if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { netstyle = mNetworkInfo.getTypeName(); if (netstyle.equalsIgnoreCase("WIFI")) { return "WiFi"; } else if (netstyle.equalsIgnoreCase("MOBILE")) { switch (mNetworkInfo.getSubtype()) { case TelephonyManager.NETWORK_TYPE_1xRTT: return "2G"; // ~ 50-100 kbps case TelephonyManager.NETWORK_TYPE_CDMA: return "2G"; // ~ 14-64 kbps case TelephonyManager.NETWORK_TYPE_EDGE: return "2G"; // ~ 50-100 kbps case TelephonyManager.NETWORK_TYPE_EVDO_0: return "3G"; // ~ 400-1000 kbps case TelephonyManager.NETWORK_TYPE_EVDO_A: return "3G"; // ~ 600-1400 kbps case TelephonyManager.NETWORK_TYPE_GPRS: return "2G"; // ~ 100 kbps case TelephonyManager.NETWORK_TYPE_HSDPA: return "3G"; // ~ 2-14 Mbps case TelephonyManager.NETWORK_TYPE_HSPA: return "3G"; // ~ 700-1700 kbps case TelephonyManager.NETWORK_TYPE_HSUPA: return "3G"; // ~ 1-23 Mbps case TelephonyManager.NETWORK_TYPE_UMTS: return "3G"; // ~ 400-7000 kbps case TelephonyManager.NETWORK_TYPE_EHRPD: return "3G"; // ~ 1-2 Mbps case TelephonyManager.NETWORK_TYPE_EVDO_B: return "3G"; // ~ 5 Mbps case TelephonyManager.NETWORK_TYPE_HSPAP: return "4G"; // ~ 10-20 Mbps case TelephonyManager.NETWORK_TYPE_IDEN: return "2G"; // ~25 kbps case TelephonyManager.NETWORK_TYPE_LTE: return "4G"; // ~ 10+ Mbps case TelephonyManager.NETWORK_TYPE_UNKNOWN: return "UNKNOWN"; default: return netstyle; }/*from www . j a va 2s. c o m*/ } return netstyle; } } return netstyle; } }