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

相关推荐

  • 南京阿里云代理商:安卓4.4 恢复短信

    恢复安卓4.4的短信可以按照以下步骤进行操作: 打开手机的短信应用程序,查看手机上是否有备份的短信。 如果没有备份的短信,可以尝试从手机的存储设备中找回被删除的短信。连接手机到电脑上,打开手机的存储设备,寻找存放短信的文件夹。 如果以上方法都不可行,可以尝试使用第三方的数据恢复软件来恢复短信。有一些软件可以扫描手机的存储设备,找回被删除的短信。 如果以上方法…

    2024年2月8日
    61200
  • 阿里云数据库升级要多久

    阿里云数据库的升级时间会根据不同的情况而有所不同。一般来说,数据库的升级过程需要几分钟至几小时不等。在升级期间,数据库可能会暂时不可用或有一定程度的性能下降。为了确保升级过程的顺利进行,建议在非高峰期进行升级,并提前通知相关用户或服务。 具体升级时间的长短取决于以下几个因素: 数据库的规模和复杂度:较大规模或复杂的数据库可能需要更长的时间来完成升级。 所选择…

    2023年10月5日
    63100
  • 周口阿里云代理商:app 获取服务器数据

    阿里云代理商是指在阿里云平台上销售和推广阿里云产品和服务的合作伙伴。如果你想通过自己的应用程序获取阿里云服务器上的数据,可以按照以下步骤进行操作: 注册阿里云账号:首先需要在阿里云官网上注册一个账号,并完成实名认证。 购买云服务器:登录阿里云控制台,选择相应的云服务器产品,并按照需要的配置和地域购买一台云服务器。购买完成后,会为你提供一个公网IP地址和登录密…

    2024年2月17日
    57700
  • 万宁阿里云企业邮箱代理商:阿里云邮企业邮箱登录入口

    万宁阿里云企业邮箱代理商:阿里云邮企业邮箱登录入口 随着互联网的发展,电子邮件已成为人们日常生活和工作中必不可少的沟通工具。而在企业办公中,更是离不开高效、稳定的企业邮箱服务。阿里云企业邮箱作为国内领先的企业级邮件解决方案之一,备受企业用户青睐。 优势一:安全可靠 阿里云企业邮箱采用多重安全技术,确保企业邮件数据的安全性和机密性。SSL加密传输、反垃圾邮件、…

    2024年2月21日
    59000
  • 济南阿里云企业邮箱代理商:钉钉邮箱能发送到qq邮箱吗

    济南阿里云企业邮箱代理商:钉钉邮箱能发送到qq邮箱吗 阿里云企业邮箱优势 作为阿里云企业邮箱的代理商,我们了解并推荐阿里云企业邮箱拥有以下优势: 稳定可靠:阿里云企业邮箱基于阿里云技术实力,保证了服务的稳定性和可靠性。 高效安全:阿里云企业邮箱采用多层级安全防护体系,确保企业邮件的安全性。 强大功能:阿里云企业邮箱提供丰富的功能,如多账号管理、群组邮件、邮件…

    2024年1月12日
    67100

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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