概述:
本篇主要介绍Android获取基站信息的方式,除此之外,还有SIM卡相关字段获取,先介绍一些缩写的概念,后续更新代码的写法。
前言:之前有碰到一个需求,需要获取SIM卡的相关属性:IMSI号、SIM卡序号、通话号码、SIM运营商国家代码、运营商名称、网络运营商等参数,然后是基站信息:mcc#mnc#lac#cellid#rss。也按照网上的方法踩过一些坑,这边就记录一下自己可行的方案。
基站信息的缩写概念:
LAC:Location Area Code,定位区域编码,2个字节长的十六进制BCD码(不包括0000和FFFE)
TAC:Tracking Area Code,追踪区域编码,
CID:Cell Identity,信元标识,2个字节
MCC:Mobile Country Code,移动国家代码,三位数,中国:460
MNC:Mobile Network Code,移动网络号,两位数(中国移动0,中国联通1,中国电信2)
BSSS:Base station signal strength,基站信号强度
网络类型:
1)NETOWRK_TYPE_GPRS 1-移动联通 2.5G
2)NETOWRK_TYPE_EDGE 2-移动 2.75G
3)NETOWRK_TYPE_UMTS 3-联通 WCDMA 46006
UMTS定义是一种3G移动电话技术,使用WCDMA作为底层标准,WCDMA向下兼容GSM网络。
4)NETOWRK_TYPE_CDMA 4-电信
5)NETOWRK_TYPE_1xRTT 7-电信
6)NETOWRK_TYPE_EVD0_0、NETOWRK_TYPE_EVD0_A、NETOWRK_TYPE_EVD0_B
5-6-12 - 电信
7)NETOWRK_TYPE_HSDPA 8-联通 46006 3.5G
8)NETOWRK_TYPE_LTE 13-移动、联通、电信 —— 4G 各个运营商都可能使用。
9)NETOWRK_TYPE_GSM 16
10)NETOWRK_TYPE_TD_SCDMA 17-移动 3G 的时候 使用
运营商代码460开头的整理:
46000 中国移动 (GSM)
46001 中国联通 (GSM)
46002 中国移动 (TD