china mobile 4glteglte怎么升级

微信关注“手机中国”随时获取最新手机资讯
从6月份开始,魅族MX6的相关信息就一直在网络上被不断爆出,无论...
与小米不同的是,荣耀的品牌精神是“笨鸟不等风”和“勇敢做自己...
大屏、更大屏;高清、更高清;轻薄、更轻薄;双核、四核、八核乃...
> 4G+VoLTE/超强续航 中国移动A2评测
参考价格:屏幕尺寸:5.5英寸网友点评:
4G+VoLTE/超强续航 中国移动A2评测
手机中国【原创】作者:手机中国 沈唱唱责任编辑:许华日 05:00
一款高性价比新机
  近两年4G网络高速发展,最新的统计数据显示,中国三大基础运营商中,4G用户数已经达到4亿户,总量甚至超过了中国联通与中国电信4G用户总和,领跑位置令人望尘莫及。在这样的背景下,中国移动5月推出了A1s、两款自主品牌新机,售价分别为499元与799元,延续前代的高性价比,在千元机市场上再掀起一轮竞争。  作为中国移动的“亲儿子”,中国移动A2是首款自主研发的VoLTE+CA 4G+,支持五模十一频(TD-LTE、LTE FDD、TD-SCDMA、WCDMA、GSM五种通信制式),使用者可以享受到高速的网络体验。  而在国产手机竞相拼“颜值”的时代,中国移动A2在外观设计上相比第一代也有不少升级,5.5英寸的主流大屏幕配合圆润的边角设计,给这款手机带来了整体上很舒适的握持感。中国移动A2  当然,4000mAh的大容量电池同样是该机值得重点介绍的亮点之一。如今人们的娱乐生活越来越丰富,游戏、视频等重度使用场景下,手机本身的续航能力就显得尤为重要。那么中国移动A2在这几方面的表现究竟如何呢?接下来就通过详细评测来看一看吧。
更为时尚优雅的外观
  一眼看上去,机身圆润,我们拿到的这款珠光白色的版本时尚并且有气质。如果大家还记得中国移动的外观的话,相比之下,A2的设计语言就完全不同了。正面四个边角均作了有弧度的处理,屏幕左右两边直接延伸到边框处。中国移动A2  扬声器位于顶部居中的位置,扬声器两侧分别为光线距离传感器和前置摄像头,屏幕底部则为系统特有的菜单键、Home键和返回键三个虚拟按键。中国移动A2把三个虚拟按键设计得简约又低调,巧妙地将用户大部分视线集中在5.5英寸的屏幕之上。  至于中框则为全金属材质,表面打磨得十分光滑,而屏幕与中框之间由一圈间隔带过渡,正面略微凸起,一定程度上能在不小心跌落时对屏幕起到保护作用。中国移动A2  背部后盖是可拆卸的,SIM卡槽以及microSD卡槽均放在背部的后壳中,用户更换SIM卡和microSD卡时需要摘下后盖来操作。不过这样设计的一个好处是,避免在金属中框上开口过多,保证了金属中框视觉上的完整性。背部从上至下依次为麦克风、后置摄像头、LED补光灯以及“China Mobile”的Logo标志,完美应用了对称美学。  中国移动A2屏幕分辨率为p,在5.5英寸的大屏幕上,如果要求不是太高还是可以接受的,日常使用时并不会有明显的颗粒感。
4G+网络与超强续航
  搭载了Qualcomm骁龙617八核64位处理器,整体性能比较均衡。安兔兔测试成绩为43363,中规中矩。 在实际使用中我们发现,中国移动A2在运行大型游戏时仍然有比较明显的卡顿,场景变换速度较快时卡顿的情况也会更频繁。  事实上骁龙617是骁龙615的升级版本,这颗处理器最明显的提升在网络连接上。据介绍,骁龙617为八个Cortex A53核心设计,28nm制程,整合GPU Adreno 405;同时骁龙617集成X8 LTE调制解调器,支持Cat.7网络标准以及双向2x20MHz载波聚合。  中国移动选择这颗处理器正是看中了其在4G LTE方面的连接优势。据中国移动官方介绍称,中国移动A2支持“五模十一频”,即TD-LTE、LTE FDD、TD-SCDMA、WCDMA、GSM五种通信制式,并不支持电信网络。支持移动4G+网络与VoLTEmicroSIM卡槽  该机为双卡双待设计,理论上能够支持中国移动与中国联通的2G/3G/4G网络,但实测的结果,中国移动A2可以成功支持移动2G/3G/4G,但是联通网络却到不了4G。  笔者插入任何一张4G联通卡,信号栏里也只显示到“G”,室内、室外场景下都是如此。这也就是说,用联通卡使用数据网络,并不能实现3G/4G快速上网(如图所示)。对于一款主打网络连接性能的新机来说,显然有些说不过去。4000mAh大容量电池  另外再来看一看续航,不得不说4000mAh容量大电池让中国移动A2的性价比发挥到了极致。基本待机的状态下(每天使用约1个小时),这款可以坚持四五天;如果每天使用数个小时,这款手机正常使用两天也是没有问题的。相比市面上很多千元机来说,中国移动A2续航方面的表现相当优秀。
拍照表现不错
  的拍照并非强项,但是满足日常拍摄需求也是够用的。其采用了一颗500万像素前置摄像头和一颗1300万像素主摄像头(F2.2光圈)。相机界面相对简单,上部为闪光灯、镜头切换、设置三个选项,下方为相册、拍照与录像三个按钮。相机设置主界面可以开启或关闭HDR、人脸检测、消除红眼、调节白平衡等等。  室内场景中国移动A2捕捉细节的能力尚可,色彩还原较为真实,拍摄灯光的场景略微会出现噪点。点按屏幕实现对焦,拍照速度很快。  另外,定位千元档的中国移动A2也支持PDAF相位对焦,对焦速度很快,对不同场景的光线控制也比较到位。笔者选取了几张室内以及户外的拍照样张,1300万像素的摄像头整体表现还是不错的。拍照样张
简洁的系统体验
  系统是基于 5.1.1的CMUI 3.0操作系统,这个系统对用户来说相对陌生,但实际上CMUI 3.0对 5.1.1系统界面设计与操作逻辑改动并不是很多,轻度优化,保证了系统的流畅性,操作过程中很少会出现卡顿。笔者发现CMUI 3.0也保留了应用抽屉,这一点在目前很多上都已经见不到了。  下拉通知栏的设计简洁,分为“通知”和“开关”两个部分,用户可以很方便的开启或关闭WLAN、数据连接、蓝牙响铃等功能,除此之外通知栏开关中还可以一键进入“免打扰模式”,整体设计非常人性化。  CMUI 3.0自带中国移动自家的互联网多媒体应用,包括和地图、和生活、和彩云、咪咕音乐、咪咕影院等。另外CMUI 3.0系统中还自带“”,一键清理加速、通知管理、病毒查杀都可以在手机管家中实现,而不用单独下载其他第三方软件,给用户提供了方便。中国移动A2  总结:相比前一代,中国移动A2无论在外观设计或是硬件表现来说提升都是非常明显的,尤其是在移动4G+网络以及续航能力的表现上。而让人欣慰的是这款新机799元的亲民价格,对很多用户来说具备相当的吸引力。目前中国移动拥有三大运营商中最多的4G基站部署以及庞大的4G用户,其推出这样一款性价比很高的新机,在推广其领先的4G+体验的同时,也成为国内千元级市场上的有力竞争者。
07/20 17:1207/20 10:3707/20 07:5507/19 15:40
07/21 05:3007/21 05:3007/21 05:0007/21 05:00
07/14 18:4107/11 21:4407/08 11:5107/08 11:30
07/15 05:3007/15 05:0007/14 17:3007/14 04:20
48小时热门评测文章
雷军在三年前喊出“飞猪理论”——一头猪站...
对于一加手机3,其实最开始我是不看好的,因...
360手机内部今年发生较大的变化,其将原来的...
在国内外旗舰手机们不约而同搭载高通骁龙芯...
城市的魅力在于夜色迷离的夜晚,霓虹灯错落...当前位置 & &
& 中国移动吃定FDD-LTE 4G牌照
中国移动吃定FDD-LTE 4G牌照
19:11:56&&出处:&&作者:
编辑:雪花 &&)
让小伙伴们也看看:
文章观点支持
当前平均分:0(0 次打分)
[07-10][07-09][07-09][07-09][07-09][07-09][07-09][07-09][07-09][07-09]
登录驱动之家
没有帐号?
用合作网站帐户直接登录港版 iPhone 5s A1530 支持中国移动 4G (TD-LTE) 网络吗?
根据苹果香港网站,型号为 A1530 的 iPhone 5s 支持 TD-LTE,但只支持 band 38, 39, 40:而 Forbes 的这篇文章说中国移动的 TD-LTE 需要 band 41:如果目前的港版 A1530 暂时还不支持中移动的 4G,那么未来苹果有可能通过运营商固件升级的方式让它支持(插移动 uSIM 卡即可用,无须破解,所谓完美支持)吗?
按投票排序
Lawrence,Lawrence,这是个混合话题。一方面涉及到了CMCC和Apple的合作协议问题(非技术),另一方面涉及到了琐碎的终端破解技术问题。我分开谈:1 非技术方面,主要是关系到CMCC和APPLE的合作协议相关,都知道Apple在和运营商的合作当中一贯强势,AT&T和Verizon等美国巨头都俯首贴耳;但中国移动作为全球最大的移动巨无霸,肯定也有自己的想法需要坚持,可以说iPhone5s在全球TDD生态系统尚处于早期,TDS仅仅中国移动一家且TDDLTE远远落后于FDDLTE的大市场前提下,就拿出兼容TDS和TDL的终端,应该是诚意可嘉的。但中国移动自己的市场计划一样强势,两下谈判,估计在包销iphone具体数量上发生分歧,所以一直没有对外公布谈判进展。这也是为什么大家早在两个月前就在工信部的网站上看到入网的iphone5s/c型号证书展示,但却一直没有真正在中国移动的市场上看到相关手机的出售的原因。因此在现在这个阶段,Apple特意在HK市场上的iphone5s/5c中间容支持TDD的A1530和A1529的基带上加了锁(惯例上,是没必要的),而另一方面,中国移动好多省分公司居然公开帮助用户解锁操作,免费,让用户率先体验实验网中的TDDLTE... 这是典型的双方博弈,Apple要在协议达成之前卡死移动网内的iphone来源,而移动恰恰相反,希望尽可能多的水货iphone可以在网内使用,以便在和apple的谈判中占据主动,潜台词是,你要价太高我不答应,反正有大量水货进口。(当然这是我个人推测)2 技术方面,2.1 关于频段,A1530确实不支持Band41(MHz)全频段,目前。但支持band38、39、40也足足够用了,移动这次的频点只有一小部分是在band38以外band41以内,超出38的部分不会用来组大网,基本上会被用来加厚热点,所以iphone5s现阶段和未来使用完全没有问题,网络还有其他技术办法帮助band38在今后的band41内工作(具体不展开了),这点不用担心;2.2 关于港版解锁,我之前打过一个简稿,如上图可参考。核心思想就是,利用双模卡欺骗手机是漫游入中国的国外手机,具体欺骗的就是手机的Baseband芯片(Qualcomm),然后再进一步欺骗它激活运营商配置文件中中国移动的那一部分(预置好的),只要这部分文件激活,更换中国移动的USIM卡(不同于SIM卡)即可顺利接入中国移动的TDDLTE/TDS/GSM享受相关业务了。其实网络侧也有大量配合工作,但移动目前对这种港版入网非但没有限制还鼓励甚至替你免费操作,所以自然不是障碍。FYI
可以,直接到官方的移动营业厅,会有人帮你破解的,不折腾,不花钱。ps. 我在北京。据说现在4G基站建设的还不太完善,信号强度和稳定性会下降,我用wifi比较多,就没有破解。——UPDATA ————iPhone 5s/5c/5用户收到运营商15.6版推送更新,更新后的港版iPhone 5s/5c可直接使用中国移动3G和4G网络,并显示“中国移动4G”,而iPhone 5则增加个人热点功能。
支持,我的是港版 A1530 (MF354ZP/A),前几天已办理移动4G (TD-LTE),4G 信号不是很稳定,根据地理位置不同,会切换为 3G 或 GPRS 网络,有4G信号的地方,速度非常快。各个移动营业厅都能办理,不过还没有对应套餐,这个月中旬应该会有。
硬件上是支持的,身边朋友都在用。需要用卡贴重新激活和 LTE SIM 卡。
支持,我正在用着,港版5S A1530,上周去移动营业厅破解了,没有换号升级了4G的卡,用了几天,感觉就和3G差不多,网络信号的显示是LTE。覆盖率和信号都一般
理论上是可以的。如图:视频地址:视频地址:
现在移动营业厅的员工说港版5s(1530)使用移动4G可能会不稳定,是怎么回事?
如果是美版的可以支持吗?
中国移动的频段一部分是band41,还有其他的包含在38,39,40中,确定是可以支持的。目前已经不少人破解使用了
已有帐号?
无法登录?
社交帐号登录 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
4g移动通信技术权威指南:lte与lte-advanced.4g lte.lte-advanced for mobile broadband.
下载积分:4000
内容提示:4g移动通信技术权威指南:lte与lte-advanced.4g lte.lte-advanced for mobile broadband
文档格式:PDF|
浏览次数:7|
上传日期: 08:39:33|
文档星级:
该用户还上传了这些文档
4g移动通信技术权威指南:lte与lte-advanced.4g lte.lte
官方公共微信Android问题记录(2)
在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需要根据用户当前网络情况来做一些调整的,也可以在 App 的设置模块里,让用户自己选择,在 2G / 3G / 4G 网络条件下,是否允许请求一些流量比较大的数据。
通过 Android 提供的 TelephonyManager 和 ConnectivityManager 都可以获取到 NetworksInfo 对象,可以通过 getType() 获取类型,判断是 wifi 还是 mobile ,如果是 mobile ,可以通过 NetworksInfo 对象的 getSubType() 和 getSubTypeName() 可以获取到对于的网络类型和名字。
网络类型和名字定义在 TelephonyManager 类里。
/* Network type is unknown /
public static final int NETWORK_TYPE_UNKNOWN = 0;
/* Current network is GPRS /
public static final int NETWORK_TYPE_GPRS = 1;
/* Current network is EDGE /
public static final int NETWORK_TYPE_EDGE = 2;
/* Current network is UMTS /
public static final int NETWORK_TYPE_UMTS = 3;
/* Current network is CDMA: Either IS95A or IS95B/
public static final int NETWORK_TYPE_CDMA = 4;
/* Current network is EVDO revision 0/
public static final int NETWORK_TYPE_EVDO_0 = 5;
/* Current network is EVDO revision A/
public static final int NETWORK_TYPE_EVDO_A = 6;
/* Current network is 1xRTT/
public static final int NETWORK_TYPE_1xRTT = 7;
/* Current network is HSDPA /
public static final int NETWORK_TYPE_HSDPA = 8;
/* Current network is HSUPA /
public static final int NETWORK_TYPE_HSUPA = 9;
/* Current network is HSPA /
public static final int NETWORK_TYPE_HSPA = 10;
/* Current network is iDen /
public static final int NETWORK_TYPE_IDEN = 11;
/* Current network is EVDO revision B/
public static final int NETWORK_TYPE_EVDO_B = 12;
/* Current network is LTE /
public static final int NETWORK_TYPE_LTE = 13;
/* Current network is eHRPD /
public static final int NETWORK_TYPE_EHRPD = 14;
/* Current network is HSPA+ /
public static final int NETWORK_TYPE_HSPAP = 15;
看到这个代码和注释,相信没有这方面知识的人很难看懂,都啥玩意?这注释跟没注释有啥区别?!就是让人看着更加闹心而已。所以说,注释对阅读代码的人很重要。当然这些东西可能太专业了,写这些代码的人估计是想写也不知道该怎么了,得写多大一坨啊?!我在最后会贴上一些我整理的资料,可以供大家参考一下,不是很详细,也不专业,就是大概有个印象。
TelephonyManager 还提供了 getNetworkTypeName(int type) 的方法,这个方法可以返回一个字符串,但是信息量不大。
那怎么判断是 2G , 3G 还是 4G 网络呢?TelephonyManager 还提供了另外一个方法,getNetworkClass(int networkType) ,但这个方法被隐藏掉了,我把代码贴一下。
public static int getNetworkClass(int networkType) {
switch (networkType) {
case NETWORK_TYPE_GPRS:
case NETWORK_TYPE_EDGE:
case NETWORK_TYPE_CDMA:
case NETWORK_TYPE_1xRTT:
case NETWORK_TYPE_IDEN:
return NETWORK_CLASS_2_G;
case NETWORK_TYPE_UMTS:
case NETWORK_TYPE_EVDO_0:
case NETWORK_TYPE_EVDO_A:
case NETWORK_TYPE_HSDPA:
case NETWORK_TYPE_HSUPA:
case NETWORK_TYPE_HSPA:
case NETWORK_TYPE_EVDO_B:
case NETWORK_TYPE_EHRPD:
case NETWORK_TYPE_HSPAP:
return NETWORK_CLASS_3_G;
case NETWORK_TYPE_LTE:
return NETWORK_CLASS_4_G;
return NETWORK_CLASS_UNKNOWN;
然后下面是这几个常量的值。
/* Unknown network class. {@hide} /
public static final int NETWORK_CLASS_UNKNOWN = 0;
/* Class of broadly defined “2G” networks. {@hide} /
public static final int NETWORK_CLASS_2_G = 1;
/* Class of broadly defined “3G” networks. {@hide} /
public static final int NETWORK_CLASS_3_G = 2;
/* Class of broadly defined “4G” networks. {@hide} /
public static final int NETWORK_CLASS_4_G = 3;
不知道为啥要把这些东西给隐藏起来,然道是不靠谱?!还是其他的更好的方式?!不知道,先这样吧,现在通过上面的手段,是可以知道用户用的是什么网络,当然也可以区分出来用户使用的是 2G , 3G 还是 4G 了。当然,你获取到这些数据后,你也可以推算出用户用的是哪家公司的网络,移动的,联通的,还是电信的,当然,只在中国。而且虚拟运营商开始真正上市后,这个就区分不出来是京东的,还是国美,苏宁的了,但是你可以知道你的手机号用的是联通的网还是移动的网。
最后贴上我收集整理的一些资料,可以参考一下。
2G(2.5) General Packet Radia Service 114kbps
2G(2.75G) Enhanced Data Rate for GSM Evolution 384kbps
3G WCDMA 联通3G Universal Mobile Telecommunication System 完整的3G移动通信技术标准
2G 电信 Code Division Multiple Access 码分多址
3G (EVDO 全程 CDMA2000 1xEV-DO) Evolution - Data Only (Data Optimized) 153.6kps - 2.4mbps 属于3G
3G 1.8mbps - 3.1mbps 属于3G过渡,3.5G
2G CDMA2000 1xRTT (RTT - 无线电传输技术) 144kbps 2G的过渡,
3.5G 高速下行分组接入 3.5G WCDMA High Speed Downlink Packet Access 14.4mbps
3.5G High Speed Uplink Packet Access 高速上行链路分组接入 1.4 - 5.8 mbps
3G (分HSDPA,HSUPA) High Speed Packet Access
2G Integrated Dispatch Enhanced Networks 集成数字增强型网络 (属于2G,来自维基百科)
EVDO_B 3G EV-DO Rev.B 14.7Mbps 下行 3.5G
4G Long Term Evolution FDD-LTE 和 TDD-LTE , 3G过渡,升级版 LTE Advanced 才是4G
3G CDMA2000向LTE 4G的中间产物 Evolved High Rate Packet Data HRPD的升级
3G HSPAP 比 HSDPA 快些
[java] view plain copy
import java.io.BufferedR
import java.io.InputStreamR
import java.text.DecimalF
import java.util.L
import android.content.C
import android.net.ConnectivityM
import android.net.NetworkI
import android.net.wifi.WifiI
import android.net.wifi.WifiM
import android.telephony.NeighboringCellI
import android.telephony.TelephonyM
import android.telephony.cdma.CdmaCellL
import android.telephony.gsm.GsmCellL
import android.util.L
public class NetWorkUtil {
public static boolean isWifiAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) ConfigManager
.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return (networkInfo != null && networkInfo.isConnected() && networkInfo
.getType() == ConnectivityManager.TYPE_WIFI);
* 获取MAC地址
* @param context
public static String getMacAddress(Context context) {
if (context == null) {
return "";
String localMac =
if (isWifiAvailable()) {
localMac = getWifiMacAddress(context);
if (localMac != null && localMac.length() & 0) {
localMac = localMac.replace(":", "-").toLowerCase();
return localM
localMac = getMacFromCallCmd();
if (localMac != null) {
localMac = localMac.replace(":", "-").toLowerCase();
return localM
private static String getWifiMacAddress(Context context) {
String localMac =
WifiManager wifi = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
if (wifi.isWifiEnabled()) {
localMac = info.getMacAddress();
if (localMac != null) {
localMac = localMac.replace(":", "-").toLowerCase();
return localM
} catch (Exception e) {
e.printStackTrace();
* 通过callCmd("busybox ifconfig","HWaddr")获取mac地址
* @attention 需要设备装有busybox工具
* @return Mac Address
private static String getMacFromCallCmd() {
String result = "";
result = callCmd("busybox ifconfig", "HWaddr");
if (result == null || result.length() &= 0) {
DebugLog.v("tag", "cmd result : " + result);
// 对该行数据进行解析
// 例如:eth0 Link encap:Ethernet HWaddr 00:16:E8:3E:DF:67
if (result.length() & 0 && result.contains("HWaddr") == true) {
String Mac = result.substring(result.indexOf("HWaddr") + 6,
result.length() - 1);
if (Mac.length() & 1) {
result = Mac.replaceAll(" ", "");
public static String callCmd(String cmd, String filter) {
String result = "";
String line = "";
Process proc = Runtime.getRuntime().exec(cmd);
InputStreamReader is = new InputStreamReader(proc.getInputStream());
BufferedReader br = new BufferedReader(is);
// 执行命令cmd,只取结果中含有filter的这一行
while ((line = br.readLine()) != null
&& line.contains(filter) == false) {
} catch (Exception e) {
e.printStackTrace();
* 网络是否可用
* @param context
public static boolean IsNetWorkEnable(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
ToastUtil.showMessage(context, "无法连接网络");
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info != null && info.isConnected()) {
// 判断当前网络是否已经连接
if (info.getState() == NetworkInfo.State.CONNECTED) {
} catch (Exception e) {
e.printStackTrace();
ToastUtil.showMessage(context, "无法连接网络");
private static final int NETWORK_TYPE_UNAVAILABLE = -1;
// private static final int NETWORK_TYPE_MOBILE = -100;
private static final int NETWORK_TYPE_WIFI = -101;
private static final int NETWORK_CLASS_WIFI = -101;
private static final int NETWORK_CLASS_UNAVAILABLE = -1;
/** Unknown network class. */
private static final int NETWORK_CLASS_UNKNOWN = 0;
/** Class of broadly defined "2G" networks. */
private static final int NETWORK_CLASS_2_G = 1;
/** Class of broadly defined "3G" networks. */
private static final int NETWORK_CLASS_3_G = 2;
/** Class of broadly defined "4G" networks. */
private static final int NETWORK_CLASS_4_G = 3;
private static DecimalFormat df = new DecimalFormat("#.##");
// 适配低版本手机
/** Network type is unknown */
public static final int NETWORK_TYPE_UNKNOWN = 0;
/** Current network is GPRS */
public static final int NETWORK_TYPE_GPRS = 1;
/** Current network is EDGE */
public static final int NETWORK_TYPE_EDGE = 2;
/** Current network is UMTS */
public static final int NETWORK_TYPE_UMTS = 3;
/** Current network is CDMA: Either IS95A or IS95B */
public static final int NETWORK_TYPE_CDMA = 4;
/** Current network is EVDO revision 0 */
public static final int NETWORK_TYPE_EVDO_0 = 5;
/** Current network is EVDO revision A */
public static final int NETWORK_TYPE_EVDO_A = 6;
/** Current network is 1xRTT */
public static final int NETWORK_TYPE_1xRTT = 7;
/** Current network is HSDPA */
public static final int NETWORK_TYPE_HSDPA = 8;
/** Current network is HSUPA */
public static final int NETWORK_TYPE_HSUPA = 9;
/** Current network is HSPA */
public static final int NETWORK_TYPE_HSPA = 10;
/** Current network is iDen */
public static final int NETWORK_TYPE_IDEN = 11;
/** Current network is EVDO revision B */
public static final int NETWORK_TYPE_EVDO_B = 12;
/** Current network is LTE */
public static final int NETWORK_TYPE_LTE = 13;
/** Current network is eHRPD */
public static final int NETWORK_TYPE_EHRPD = 14;
/** Current network is HSPA+ */
public static final int NETWORK_TYPE_HSPAP = 15;
* 格式化大小
* @param size
public static String formatSize(long size) {
String unit = "B";
float len =
if (len & 900) {
len /= 1024f;
unit = "KB";
if (len & 900) {
len /= 1024f;
unit = "MB";
if (len & 900) {
len /= 1024f;
unit = "GB";
if (len & 900) {
len /= 1024f;
unit = "TB";
return df.format(len) +
public static String formatSizeBySecond(long size) {
String unit = "B";
float len =
if (len & 900) {
len /= 1024f;
unit = "KB";
if (len & 900) {
len /= 1024f;
unit = "MB";
if (len & 900) {
len /= 1024f;
unit = "GB";
if (len & 900) {
len /= 1024f;
unit = "TB";
return df.format(len) + unit + "/s";
public static String format(long size) {
String unit = "B";
float len =
if (len & 1000) {
len /= 1024f;
unit = "KB";
if (len & 1000) {
len /= 1024f;
unit = "MB";
if (len & 1000) {
len /= 1024f;
unit = "GB";
return df.format(len) + "\n" + unit + "/s";
* 获取运营商
public static String getProvider() {
String provider = "未知";
TelephonyManager telephonyManager = (TelephonyManager) ConfigManager
.getContext().getSystemService(Context.TELEPHONY_SERVICE);
String IMSI = telephonyManager.getSubscriberId();
Log.v("tag", "getProvider.IMSI:" + IMSI);
if (IMSI == null) {
if (TelephonyManager.SIM_STATE_READY == telephonyManager
.getSimState()) {
String operator = telephonyManager.getSimOperator();
Log.v("tag", "getProvider.operator:" + operator);
if (operator != null) {
if (operator.equals("46000")
|| operator.equals("46002")
|| operator.equals("46007")) {
provider = "中国移动";
} else if (operator.equals("46001")) {
provider = "中国联通";
} else if (operator.equals("46003")) {
provider = "中国电信";
if (IMSI.startsWith("46000") || IMSI.startsWith("46002")
|| IMSI.startsWith("46007")) {
provider = "中国移动";
} else if (IMSI.startsWith("46001")) {
provider = "中国联通";
} else if (IMSI.startsWith("46003")) {
provider = "中国电信";
} catch (Exception e) {
e.printStackTrace();
* 获取网络类型
public static String getCurrentNetworkType() {
int networkClass = getNetworkClass();
String type = "未知";
switch (networkClass) {
case NETWORK_CLASS_UNAVAILABLE:
type = "无";
case NETWORK_CLASS_WIFI:
type = "Wi-Fi";
case NETWORK_CLASS_2_G:
type = "2G";
case NETWORK_CLASS_3_G:
type = "3G";
case NETWORK_CLASS_4_G:
type = "4G";
case NETWORK_CLASS_UNKNOWN:
type = "未知";
private static int getNetworkClassByType(int networkType) {
switch (networkType) {
case NETWORK_TYPE_UNAVAILABLE:
return NETWORK_CLASS_UNAVAILABLE;
case NETWORK_TYPE_WIFI:
return NETWORK_CLASS_WIFI;
case NETWORK_TYPE_GPRS:
case NETWORK_TYPE_EDGE:
case NETWORK_TYPE_CDMA:
case NETWORK_TYPE_1xRTT:
case NETWORK_TYPE_IDEN:
return NETWORK_CLASS_2_G;
case NETWORK_TYPE_UMTS:
case NETWORK_TYPE_EVDO_0:
case NETWORK_TYPE_EVDO_A:
case NETWORK_TYPE_HSDPA:
case NETWORK_TYPE_HSUPA:
case NETWORK_TYPE_HSPA:
case NETWORK_TYPE_EVDO_B:
case NETWORK_TYPE_EHRPD:
case NETWORK_TYPE_HSPAP:
return NETWORK_CLASS_3_G;
case NETWORK_TYPE_LTE:
return NETWORK_CLASS_4_G;
return NETWORK_CLASS_UNKNOWN;
private static int getNetworkClass() {
int networkType = NETWORK_TYPE_UNKNOWN;
final NetworkInfo network = ((ConnectivityManager) ConfigManager
.getContext()
.getSystemService(Context.CONNECTIVITY_SERVICE))
.getActiveNetworkInfo();
if (network != null && network.isAvailable()
&& network.isConnected()) {
int type = network.getType();
if (type == ConnectivityManager.TYPE_WIFI) {
networkType = NETWORK_TYPE_WIFI;
} else if (type == ConnectivityManager.TYPE_MOBILE) {
TelephonyManager telephonyManager = (TelephonyManager) ConfigManager
.getContext().getSystemService(
Context.TELEPHONY_SERVICE);
networkType = telephonyManager.getNetworkType();
networkType = NETWORK_TYPE_UNAVAILABLE;
} catch (Exception ex) {
ex.printStackTrace();
return getNetworkClassByType(networkType);
public static String getWifiRssi() {
int asu = 85;
final NetworkInfo network = ((ConnectivityManager) ConfigManager
.getContext()
.getSystemService(Context.CONNECTIVITY_SERVICE))
.getActiveNetworkInfo();
if (network != null && network.isAvailable()
&& network.isConnected()) {
int type = network.getType();
if (type == ConnectivityManager.TYPE_WIFI) {
WifiManager wifiManager = (WifiManager) ConfigManager
.getContext()
.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (wifiInfo != null) {
asu = wifiInfo.getRssi();
} catch (Exception e) {
e.printStackTrace();
return asu + "dBm";
public static String getWifiSsid() {
String ssid = "";
final NetworkInfo network = ((ConnectivityManager) ConfigManager
.getContext()
.getSystemService(Context.CONNECTIVITY_SERVICE))
.getActiveNetworkInfo();
if (network != null && network.isAvailable()
&& network.isConnected()) {
int type = network.getType();
if (type == ConnectivityManager.TYPE_WIFI) {
WifiManager wifiManager = (WifiManager) ConfigManager
.getContext()
.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (wifiInfo != null) {
ssid = wifiInfo.getSSID();
if (ssid == null) {
ssid = "";
ssid = ssid.replaceAll("\"", "");
} catch (Exception e) {
e.printStackTrace();
* 检查sim卡状态
* @param ctx
public static boolean checkSimState() {
TelephonyManager tm = (TelephonyManager) ConfigManager.getContext()
.getSystemService(Context.TELEPHONY_SERVICE);
if (tm.getSimState() == TelephonyManager.SIM_STATE_ABSENT
|| tm.getSimState() == TelephonyManager.SIM_STATE_UNKNOWN) {
* 获取imei
public static String getImei() {
TelephonyManager mTelephonyMgr = (TelephonyManager) ConfigManager
.getContext().getSystemService(Context.TELEPHONY_SERVICE);
String imei = mTelephonyMgr.getDeviceId();
if (imei == null) {
imei = "000";
public static String getPhoneImsi() {
TelephonyManager mTelephonyMgr = (TelephonyManager) ConfigManager
.getContext().getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getSubscriberId();
public static CellInfo getNetInfo() {
CellInfo info = new CellInfo();
TelephonyManager mTelephonyManager = (TelephonyManager) ConfigManager
.getContext().getSystemService(Context.TELEPHONY_SERVICE);
String operator = mTelephonyManager.getNetworkOperator();
if (operator != null) {
/** 通过operator获取 MCC 和MNC */
if (operator.length() & 3) {
String mcc = operator.substring(0, 3);
String mnc = operator.substring(3);
info.setMcc(mcc);
info.setMnc(mnc);
int lac = 0;
int cellId = 0;
int phoneType = mTelephonyManager.getPhoneType();
if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
GsmCellLocation location = (GsmCellLocation) mTelephonyManager
.getCellLocation();
/** 通过GsmCellLocation获取中国移动和联通 LAC 和cellID */
lac = location.getLac();
cellId = location.getCid();
} else if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
CdmaCellLocation location = (CdmaCellLocation) mTelephonyManager
.getCellLocation();
lac = location.getNetworkId();
cellId = location.getBaseStationId();
cellId /= 16;
if (lac == 0 || cellId == 0) {
List&NeighboringCellInfo& infos = mTelephonyManager
.getNeighboringCellInfo();
int lc = 0;
int ci = 0;
int rssi = 0;
for (NeighboringCellInfo cell : infos) {
// 根据邻区总数进行循环
if (lc == 0 || ci == 0) {
lc = cell.getLac();
ci = cell.getCid();
rssi = cell.getRssi();
// sb.append(" LAC : " + info.getLac());
// // 取出当前邻区的LAC
// sb.append(" CID : " + info.getCid());
// // 取出当前邻区的CID
// sb.append(" BSSS : " + (-113 + 2 * info.getRssi()) +
// "\n"); // 获取邻区基站信号强度
rssi = -113 + 2 *
} catch (Exception e) {
e.printStackTrace();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:212次
排名:千里之外

我要回帖

更多关于 china mobile lte 的文章

 

随机推荐