android - 获取网络类型

标签 android

我一直在尝试检索当前的网络类型,但没有成功

当我说网络类型时:我指的是知道这个信息: 如果类型是:NETWORK_TYPE_IDENNETWORK_TYPE_UMTS..等等..

我尝试使用:

NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();

NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo 
            (ConnectivityManager.TYPE_MOBILE); 

但没有成功..

我这样做是因为我想知道当前网络是否是 IDEN,或者当前网络是否通过 wifi 连接..

最佳答案

我讨厌神奇的数字:

/**
 * You need to add:
 * 
 * <pre>
 *     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 * </pre>
 * 
 * in your AndroidManifest.xml.
 */
private String networkType() {
    TelephonyManager teleMan = (TelephonyManager)
            getSystemService(Context.TELEPHONY_SERVICE);
    int networkType = teleMan.getNetworkType();
    switch (networkType) {
        case TelephonyManager.NETWORK_TYPE_1xRTT: return "1xRTT";
        case TelephonyManager.NETWORK_TYPE_CDMA: return "CDMA";
        case TelephonyManager.NETWORK_TYPE_EDGE: return "EDGE";
        case TelephonyManager.NETWORK_TYPE_EHRPD: return "eHRPD";
        case TelephonyManager.NETWORK_TYPE_EVDO_0: return "EVDO rev. 0";
        case TelephonyManager.NETWORK_TYPE_EVDO_A: return "EVDO rev. A";
        case TelephonyManager.NETWORK_TYPE_EVDO_B: return "EVDO rev. B";
        case TelephonyManager.NETWORK_TYPE_GPRS: return "GPRS";
        case TelephonyManager.NETWORK_TYPE_HSDPA: return "HSDPA";
        case TelephonyManager.NETWORK_TYPE_HSPA: return "HSPA";
        case TelephonyManager.NETWORK_TYPE_HSPAP: return "HSPA+";
        case TelephonyManager.NETWORK_TYPE_HSUPA: return "HSUPA";
        case TelephonyManager.NETWORK_TYPE_IDEN: return "iDen";
        case TelephonyManager.NETWORK_TYPE_LTE: return "LTE";
        case TelephonyManager.NETWORK_TYPE_UMTS: return "UMTS";
        case TelephonyManager.NETWORK_TYPE_UNKNOWN: return "Unknown";
    }
    throw new RuntimeException("New type of network");
}

关于android - 获取网络类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2919414/

相关文章:

android - 如何使用 Android Studio 为 newInstance Fragments 创建一个 kotlin live 模板

java - Picasso加载图片报错-Android

Android:带有两个图像的按钮 |结盟

java - Android Java 致命异常 java.lang.NullPointerException

java - 合并 Realm 对象和 Gson 对象

android - android studio将字节码转换为dex时出错

java - 如何将编辑文本中的第一个字母替换为自动编号

android - Android 在哪里存储我们支持搜索的 Activity 的搜索词历史记录?

android - 使用 gson 反序列化包含单个列表的对象

android - 这段代码this@MainActivity是什么意思?