通过IMSI运营商判断[Android]
2014-08-22 11:36
295 查看
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String imsi = telManager.getSubscriberId(); if(imsi!=null){ if(imsi.startsWith("46000") || imsi.startsWith("46002")){//因为移动网络编号46000下的IMSI已经用完,所以虚拟了一个46002编号,134/159号段使用了此编号 //中国移动 }else if(imsi.startsWith("46001")){ //中国联通 }else if(imsi.startsWith("46003")){ //中国电信 } }
IMSI:国际移动用户识别码(唯一标识),IMSI= MCC + MNC + MSIN,其中MCC是指移动台国家代码(3 位,中国460),MNC是指移动网代码(2位中国00),MSIN是指移动用户识别号码(10 位)
IMSI共有15位,其结构如下:
MCC+MNC+MSIN ,(MNC+MSIN=NMSI)
MCC:Mobile CountryCode,移动国家码,MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460;
MNC:Mobile NetworkCode,移动网络码,共2位,中国移动TD系统使用00,中国联通GSM系统使用01,中国移动GSM系统使用02,中国电信CDMA系统使用03,一个典型的IMSI号码为460030912121001;
MSIN:Mobile Subscriber Identification Number共有10位,其结构如下:
09+M0M1M2M3+ABCD
其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。
可以看出IMSI在MSIN号码前加了MCC即NMSI,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个移动网络运营商,可以通过MNC来进行区别.
相关文章推荐
- iphone 通过获取IMSI判断运营商
- 通过IMSI判断运营商的方法
- iphone 通过获取IMSI判断运营商
- [Android Pro] 通过IMSI判断手机是移动、联通、电信
- iphone 通过获取IMSI判断运营商
- iphone 通过获取IMSI判断运营商
- iphone 通过获取IMSI判断运营商
- iphone 通过获取IMSI判断运营商
- iphone 通过获取IMSI判断运营商
- android--获取手机的IMSI码,并判断是中国移动/中国联通/中国电信
- Android 手机运营商及网络类型判断
- Android通过获取Ip的方法判断手机是否联网
- asp.net 通过UserAgent判断智能设备(Android,IOS)
- Android判断SIM卡属于哪个移动运营商
- android中通过日期判断星期
- Android 判断SIM卡属于哪个移动运营商
- Android 判断SIM卡属于哪个移动运营商
- 通过UserAgent判断智能设备(Android,IOS)
- asp.net 通过UserAgent判断智能设备(Android,IOS)
- android--获取手机的IMSI码,并判断是中国移动\中国联通\中国电信