欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android获取当前手机网络类型(2g、3g、4g、wifi)以及手机型号、版本号代码

程序员文章站 2024-02-25 23:43:21
获取手机型号: android.os.build.model 获取手机的sdk版本号:android.os.build.version.sdk 获取手机当前网络...

获取手机型号: android.os.build.model

获取手机的sdk版本号:android.os.build.version.sdk

获取手机当前网络类型代码如下:这是一个工具类,大家可以保存下来以后方便使用。

package com.iqtogether.qxueyou.support.util; 
import android.content.context; 
import android.net.connectivitymanager; 
import android.net.networkinfo; 
import android.telephony.telephonymanager; 
/** 
* 获取网络连接的工具类 
* created by chengguo on 2016/3/17. 
*/ 
public class intenetutil { 
//没有网络连接 
public static final int networn_none = 0; 
//wifi连接 
public static final int networn_wifi = 1; 
//手机网络数据连接类型 
public static final int networn_2g = 2; 
public static final int networn_3g = 3; 
public static final int networn_4g = 4; 
public static final int networn_mobile = 5; 
/** 
* 获取当前网络连接类型 
* @param context 
* @return 
*/ 
public static int getnetworkstate(context context) { 
//获取系统的网络服务 
connectivitymanager connmanager = (connectivitymanager) context.getsystemservice(context.connectivity_service); 
//如果当前没有网络 
if (null == connmanager) 
return networn_none; 
//获取当前网络类型,如果为空,返回无网络 
networkinfo activenetinfo = connmanager.getactivenetworkinfo(); 
if (activenetinfo == null || !activenetinfo.isavailable()) { 
return networn_none; 
} 
// 判断是不是连接的是不是wifi 
networkinfo wifiinfo = connmanager.getnetworkinfo(connectivitymanager.type_wifi); 
if (null != wifiinfo) { 
networkinfo.state state = wifiinfo.getstate(); 
if (null != state) 
if (state == networkinfo.state.connected || state == networkinfo.state.connecting) { 
return networn_wifi; 
} 
} 
// 如果不是wifi,则判断当前连接的是运营商的哪种网络2g、3g、4g等 
networkinfo networkinfo = connmanager.getnetworkinfo(connectivitymanager.type_mobile); 
if (null != networkinfo) { 
networkinfo.state state = networkinfo.getstate(); 
string strsubtypename = networkinfo.getsubtypename(); 
if (null != state) 
if (state == networkinfo.state.connected || state == networkinfo.state.connecting) { 
switch (activenetinfo.getsubtype()) { 
//如果是2g类型 
case telephonymanager.network_type_gprs: // 联通2g 
case telephonymanager.network_type_cdma: // 电信2g 
case telephonymanager.network_type_edge: // 移动2g 
case telephonymanager.network_type_1xrtt: 
case telephonymanager.network_type_iden: 
return networn_2g; 
//如果是3g类型 
case telephonymanager.network_type_evdo_a: // 电信3g 
case telephonymanager.network_type_umts: 
case telephonymanager.network_type_evdo_0: 
case telephonymanager.network_type_hsdpa: 
case telephonymanager.network_type_hsupa: 
case telephonymanager.network_type_hspa: 
case telephonymanager.network_type_evdo_b: 
case telephonymanager.network_type_ehrpd: 
case telephonymanager.network_type_hspap: 
return networn_3g; 
//如果是4g类型 
case telephonymanager.network_type_lte: 
return networn_4g; 
default: 
//中国移动 联通 电信 三种3g制式 
if (strsubtypename.equalsignorecase("td-scdma") || strsubtypename.equalsignorecase("wcdma") || strsubtypename.equalsignorecase("cdma2000")) { 
return networn_3g; 
} else { 
return networn_mobile; 
} 
} 
} 
} 
return networn_none; 
} 
} 

以上内容是小编给大家介绍的android获取当前手机网络类型(2g、3g、4g、wifi)以及手机型号、版本号的全部叙述,希望对大家有所帮助!