Android获取当前手机网络类型(2g、3g、4g、wifi)以及手机型号、版本号代码
获取手机型号:android.os.Build.MODEL
获取手机的SDK版本号:android.os.Build.VERSION.SDK
获取手机当前网络类型代码如下:这是一个工具类,大家可以保存下来以后方便使用。
packagecom.iqtogether.qxueyou.support.util; importandroid.content.Context; importandroid.net.ConnectivityManager; importandroid.net.NetworkInfo; importandroid.telephony.TelephonyManager; /** *获取网络连接的工具类 *Createdbychengguoon2016/3/17. */ publicclassIntenetUtil{ //没有网络连接 publicstaticfinalintNETWORN_NONE=0; //wifi连接 publicstaticfinalintNETWORN_WIFI=1; //手机网络数据连接类型 publicstaticfinalintNETWORN_2G=2; publicstaticfinalintNETWORN_3G=3; publicstaticfinalintNETWORN_4G=4; publicstaticfinalintNETWORN_MOBILE=5; /** *获取当前网络连接类型 *@paramcontext *@return */ publicstaticintgetNetworkState(Contextcontext){ //获取系统的网络服务 ConnectivityManagerconnManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); //如果当前没有网络 if(null==connManager) returnNETWORN_NONE; //获取当前网络类型,如果为空,返回无网络 NetworkInfoactiveNetInfo=connManager.getActiveNetworkInfo(); if(activeNetInfo==null||!activeNetInfo.isAvailable()){ returnNETWORN_NONE; } //判断是不是连接的是不是wifi NetworkInfowifiInfo=connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(null!=wifiInfo){ NetworkInfo.Statestate=wifiInfo.getState(); if(null!=state) if(state==NetworkInfo.State.CONNECTED||state==NetworkInfo.State.CONNECTING){ returnNETWORN_WIFI; } } //如果不是wifi,则判断当前连接的是运营商的哪种网络2g、3g、4g等 NetworkInfonetworkInfo=connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if(null!=networkInfo){ NetworkInfo.Statestate=networkInfo.getState(); StringstrSubTypeName=networkInfo.getSubtypeName(); if(null!=state) if(state==NetworkInfo.State.CONNECTED||state==NetworkInfo.State.CONNECTING){ switch(activeNetInfo.getSubtype()){ //如果是2g类型 caseTelephonyManager.NETWORK_TYPE_GPRS://联通2g caseTelephonyManager.NETWORK_TYPE_CDMA://电信2g caseTelephonyManager.NETWORK_TYPE_EDGE://移动2g caseTelephonyManager.NETWORK_TYPE_1xRTT: caseTelephonyManager.NETWORK_TYPE_IDEN: returnNETWORN_2G; //如果是3g类型 caseTelephonyManager.NETWORK_TYPE_EVDO_A://电信3g caseTelephonyManager.NETWORK_TYPE_UMTS: caseTelephonyManager.NETWORK_TYPE_EVDO_0: caseTelephonyManager.NETWORK_TYPE_HSDPA: caseTelephonyManager.NETWORK_TYPE_HSUPA: caseTelephonyManager.NETWORK_TYPE_HSPA: caseTelephonyManager.NETWORK_TYPE_EVDO_B: caseTelephonyManager.NETWORK_TYPE_EHRPD: caseTelephonyManager.NETWORK_TYPE_HSPAP: returnNETWORN_3G; //如果是4g类型 caseTelephonyManager.NETWORK_TYPE_LTE: returnNETWORN_4G; default: //中国移动联通电信三种3G制式 if(strSubTypeName.equalsIgnoreCase("TD-SCDMA")||strSubTypeName.equalsIgnoreCase("WCDMA")||strSubTypeName.equalsIgnoreCase("CDMA2000")){ returnNETWORN_3G; }else{ returnNETWORN_MOBILE; } } } } returnNETWORN_NONE; } }
以上内容是小编给大家介绍的Android获取当前手机网络类型(2g、3g、4g、wifi)以及手机型号、版本号的全部叙述,希望对大家有所帮助!