阿里云国际站: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

相关推荐

  • 阿里云语音合成助手

    阿里云语音合成助手是一种基于阿里云人工智能技术的语音合成工具,可以将文本转换为自然流畅的语音。它可以广泛应用于各种场景,例如智能客服、语音广告、语音导航等。 阿里云语音合成助手具有以下特点: 多语种支持:支持多种语言的语音合成,包括中文、英文、日文等。 自然流畅:通过深度神经网络技术,实现高质量的语音合成效果,让合成的语音听起来更加自然。 高可靠性:基于阿里…

    2023年8月10日
    30000
  • 湖州阿里云物联网平台哪家好

    请问:阿里云服务商代理有哪些公司? 很稳定的,这么巧我也是找的思 朴科技,不过是买的阿里云的cdn,还不错 . 阿里云和腾讯云这两家对比哪个比较好一些? 阿里云价格略贵,整体还不错;使用差不多三年,出过几次问题,其中一次就是2018年出现的那一次IO Hang,业务宕机,持续时间大约6个小时,其他时候也出现了几次宕机,但时间都相对较短,不足之处感觉就是工单提…

    2023年8月25日
    29500
  • 阿里云企业邮箱:为什么阿里云搜索更智能?

    阿里云企业邮箱:智能搜索如何提升办公效率 一、智能搜索的核心优势 阿里云企业邮箱的智能搜索功能基于阿里云强大的云计算和大数据技术,能够快速精准地定位用户需要的邮件内容。通过自然语言处理(NLP)技术,系统可以理解用户的搜索意图,即使输入的关键词不够准确,也能返回相关结果。例如,搜索“上周的会议记录”时,系统会自动识别时间范围并匹配相关内容,大幅减少人工筛选的…

    2025年7月31日
    10800
  • 云计算运维与开发是什么专业类别

    云计算未来就业怎么样? 随着科学技术的不断发展创新,云计算技术也在不断完善发展。目前,我国云计算产业的安全、云计算产业链关键技术的自主可控性以及云计算服务资源的整合等几大问题正在不断优化之中,企业、云服务商仍然需要大量云计算人才来进行云计算体系创建、完善云计算平台安全措施等工作。  云计算就业方向比较广阔,目前包括运维方向、开发方向以及架构方向,可以从事系统…

    2023年8月29日
    28500
  • 绵阳阿里云代理商:阿里云主机信息

    绵阳阿里云代理商是指在绵阳地区的企业或个人,拥有与阿里云合作,提供阿里云产品和服务的资格和权益。作为阿里云代理商,他们可以向客户提供阿里云主机的各类信息和服务。 阿里云主机是指通过阿里云提供的云计算服务,租用和管理的虚拟主机。以下是一些常见的阿里云主机信息: 主机类型:根据不同的需求,阿里云主机提供不同类型,如共享型主机、独享型主机、云服务器等。 规格配置:…

    2023年12月26日
    26400

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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