阿里云国际站:android 判断手机网络类型的

在Android中,可以通过ConnectivityManagerNetworkInfo类,判断手机目前正在使用的网络类型。以下给出示例代码:

public String getNetworkType(Context context) {
    String strNetworkType = "";
    
    NetworkInfo networkInfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
    
    if (networkInfo != null && networkInfo.isConnected()) {
        if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
            strNetworkType = "WIFI";
        } else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
            String _strSubTypeName = networkInfo.getSubtypeName();
            
            //如果是2G类型
            if (_strSubTypeName.equalsIgnoreCase("GSM") || _strSubTypeName.equalsIgnoreCase("CDMA")
                    || _strSubTypeName.equalsIgnoreCase("EDGE") || _strSubTypeName.equalsIgnoreCase("1xRTT")
                    || _strSubTypeName.equalsIgnoreCase("IDEN")) {
                strNetworkType = "2G";
            }
            //如果是3G类型
            else if (_strSubTypeName.equalsIgnoreCase("UMTS") || _strSubTypeName.equalsIgnoreCase("EVDO_0")
                    || _strSubTypeName.equalsIgnoreCase("EVDO_A") || _strSubTypeName.equalsIgnoreCase("HSDPA")
                    || _strSubTypeName.equalsIgnoreCase("HSUPA") || _strSubTypeName.equalsIgnoreCase("HSPA")
                    || _strSubTypeName.equalsIgnoreCase("EVDO_B") || _strSubTypeName.equalsIgnoreCase("EHRPD")
                    || _strSubTypeName.equalsIgnoreCase("HSPAP")) {
                strNetworkType = "3G";
            }
            //如果是4G类型
            else if (_strSubTypeName.equalsIgnoreCase("LTE") || _strSubTypeName.equalsIgnoreCase("UMB")
                    || _strSubTypeName.equalsIgnoreCase("HSPA+")) {
                strNetworkType = "4G";
            }
            //Unknown
            else {
                strNetworkType = _strSubTypeName;
            }
        }
    }
    
    return strNetworkType;
}

请注意,这些代码需要ACCESS_NETWORK_STATE权限,因此请在您的manifest.xml中添加此行:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

上述代码主要是使用了ConnectivityManager来获取当前活跃的网络连接信息,然后通过判断网络类型和子类型名称来判断手机正在使用的具体网络类型。

阿里云国际站:android 判断手机网络类型的

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/170528.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月23日 05:03
下一篇 2024年3月23日 05:17

相关推荐

  • 阿里云企业邮箱:阿里云邮箱如何设置自动备份?

    阿里云企业邮箱:阿里云邮箱如何设置自动备份? 随着企业信息化管理的不断发展,电子邮件作为企业日常沟通的主要方式,已经成为了不可或缺的工具。为了确保信息的安全性和有效性,很多企业开始选择使用专业的企业邮箱服务,阿里云企业邮箱就是其中的佼佼者。它不仅提供了强大的邮箱管理功能,还可以通过一些简单的设置来保证邮件数据的自动备份,从而避免邮件丢失带来的风险。 阿里云企…

    2025年4月24日
    8300
  • 阿里云云计算工资一般多少钱

    阿里云计算(苏州)有限公司工资福利待遇怎样 去任何一家公司都要实习,如果你没有硕士证,给工资的标准只会参照学士证的给。也就是少一点。  实习期满就是正式工了,如果你实习满了依然没毕业那工资还是不会按硕士的标准给,等你有硕士证了,自己主动要求涨工资或者换更好的单位。  实习拿正式工资的70-80%,按现行标准,2000-3000。那么实习最少不低于1500,(…

    2023年8月25日
    20200
  • 澳门阿里云代理商:阿里云服务器赔偿条款

    根据阿里云的官方政策,以下是澳门阿里云代理商的赔偿条款: 服务可用性问题:如果在服务级别协议 (Service Level Agreement, SLA) 中描述的可用性指标未被满足,客户将有资格获得额外的服务时间。赔偿金额将根据服务级别协议中的具体规定进行计算。 数据安全问题:如果由于阿里云服务器导致客户数据的丢失、破坏或泄露,阿里云将负责恢复或重新提供丢…

    2024年2月11日
    24400
  • 梨树县阿里云企业邮箱代理商:阿里邮箱怎么删除群组人员

    阿里云企业邮箱代理商:阿里邮箱如何删除群组人员 一、介绍阿里云企业邮箱的优势和好用之处 阿里云企业邮箱是一款基于云计算的企业级邮件服务,具有以下优势和好用之处: 稳定可靠:由阿里云提供技术支持,拥有高可用性和强大的服务器集群,确保企业邮件服务的稳定运行。 安全保密:采用多层次的安全策略和加密技术,保障企业的邮件通信安全,并提供反垃圾邮件、病毒扫描等功能。 灵…

    2024年2月8日
    26100
  • 阜新阿里云企业邮箱代理商:钉钉邮箱地址不合法是什么意思

    阜新阿里云企业邮箱代理商:钉钉邮箱地址不合法是什么意思 阿里云企业邮箱是一款全球领先的企业级电子邮件服务,为企业提供高效、安全、稳定的邮件通信解决方案。在使用阿里云企业邮箱的过程中,有时会遇到“钉钉邮箱地址不合法”的提示,那么这是什么意思呢?我们来详细了解一下。 1. 钉钉邮箱地址不合法的含义 “钉钉邮箱地址不合法”是指在设置阿里云企业邮箱时,输入的钉钉邮箱…

    2024年1月11日
    25100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/