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)以及手机型号、版本号的全部叙述,希望对大家有所帮助!