国际移动用户识别码:IMSI

标签: 网站分析 客户端 | 发表时间:2014-08-08 00:53 | 作者:标点符
分享到:
出处:http://www.biaodianfu.com

国际移动用户识别码,即IMSI(International Mobile Subscriber Identity),它是在公众陆地移动电话网(PLMN)中用于唯一识别移动用户的一个号码。在GSM网络,这个号码通常被存放在SIM卡中。

IMSI共有15位,其结构如下:

MCC+MNC+MSIN  (MNC+MSIN=NMSI)

  • MCC:Mobile Country Code,移动国家码,MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460;
  • MNC:Mobile Network Code,移动网络码,共2位,中国移动TD系统使用00,中国联通GSM系统使用01,中国移动GSM系统使用02,中国电信CDMA系统使用03,一个典型的IMSI号码为460030912121001;
  • MSIN:Mobile Subscriber Identification Number ,移动客户识别号,唯一识别码共有10位。

以下为国内MCC+MNC的相关数据:

imsi

Android获取IMSI的方案:

public class SimUtil {

         /**

          * 中国移动

          */

         public static final int SIM_TYPE_CHINA_MOBILE = 1;

         /**

          * 中国联通

          */

         public static final int SIM_TYPE_CHINA_UNICOM = 2;

         /**

          * 中国电信

          */

         public static final int SIM_TYPE_CHINA_TELECOM = 3;


         /** SIM卡是中国移动 */

         public static boolean isChinaMobile() {

                   String imsi = getSimOperator();

                   if (imsi == null) return false;

                   return imsi.startsWith("46000") || imsi.startsWith("46002") || imsi.startsWith("46007");

         }

         /** SIM卡是中国联通 */

         public static boolean isChinaUnicom() {

                   String imsi = getSimOperator();

                   if (imsi == null) return false;

                   return imsi.startsWith("46001");

         } 

         /** SIM卡是中国电信 */

         public static boolean isChinaTelecom() {

                   String imsi = getSimOperator();

                   if (imsi == null) return false;

                   return imsi.startsWith("46003");

         }

         private static String getSimOperator() {

                   TelephonyManager tm = (TelephonyManager)BoyaaApp.getApplication().getSystemService(Context.TELEPHONY_SERVICE);

                   return tm.getSubscriberId();

         }     

         /** 获取手机电话号码 */

         public static String getPhoneNumbers() {

                   TelephonyManager tm = (TelephonyManager)BoyaaApp.getApplication().getSystemService(Context.TELEPHONY_SERVICE);

                   return tm.getLine1Number();

         }      

         //sim卡是否可读

         public static boolean isCanUseSim() {

             try {

                 TelephonyManager mgr = (TelephonyManager) BoyaaApp.getApplication().getSystemService(Context.TELEPHONY_SERVICE);

                 return TelephonyManager.SIM_STATE_READY == mgr

                         .getSimState();

             } catch (Exception e) {

                 e.printStackTrace();

             }

             return false;

         }

}

IOS获取IMSI方案:(会存在审核不通过的风险,7.0以后貌似无法获取,未测试)

使用coreTelephony.framework获取imsi

#define PRIVATE_PATH  "/System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony"

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
#if !TARGET_IPHONE_SIMULATOR
    void *kit = dlopen(PRIVATE_PATH,RTLD_LAZY);    
    NSString *imsi = nil;
    int (*CTSIMSupportCopyMobileSubscriberIdentity)() = dlsym(kit, "CTSIMSupportCopyMobileSubscriberIdentity");
    imsi = (NSString*)CTSIMSupportCopyMobileSubscriberIdentity(nil);
    dlclose(kit);    

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"IMSI" 
                                                    message:imsi 
                                                   delegate:self 
                                          cancelButtonTitle:@"OK" 
                                          otherButtonTitles:nil];
    [alert show];
    [alert release];
#endif
}

参考资料:

相关 [国际 移动 imsi] 推荐:

国际移动用户识别码:IMSI

- - 标点符
国际移动用户识别码,即IMSI(International Mobile Subscriber Identity),它是在公众陆地移动电话网(PLMN)中用于唯一识别移动用户的一个号码. 在GSM网络,这个号码通常被存放在SIM卡中. IMSI共有15位,其结构如下:. MCC:Mobile Country Code,移动国家码,MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460;.

中移动推国际数据漫游多天包套餐:最低每天21元

- - cnBeta.COM
中国移动今日宣布推出国际数据流量及港澳台数据流量漫游“大包多天”套餐,针对17个方向推出包3/5/7天三种类型不限量流量套餐,新套餐最低资费平均每天约21元. 其中针对欧洲方向推出“多国包多天”不限量流量套餐,涵盖了英国、法国、德国等共32个旅游热门方向. 这是中国移动继2014年推出国际及港澳台数据漫游3/6/9元区和30/60/90元包天不限量新资费以来,根据用户出境习惯推出的又一优惠套餐.

Java国际化:BreakIterator

- - 编程语言 - ITeye博客
【译自:http://tutorials.jenkov.com/java-internationalization/breakiterator.html , 不准确别怪我】. java.text.BreakIterator 类用来查找不同语言中的字符、单词和句子的边界. 因为不同的语言有不同的字、单词和句子的边界,所以只是查找空格、逗号、句号、分号和冒号是不够的.

国际板:还是黄灯

- wang - 南方周末-热点新闻
那还只是传说,一旦它真的开了,中国与世界就将被资本纽带捆得更紧.

国际反死刑日

- iPotato - 刘晓原的BLOG
    今天是10月10日,是辛亥革命百年日,也是国际反死刑日.     反死刑日的消息,在国内媒体上难以看到,不知今年反死刑日主题会是什么.     中国作为世界上死刑罪名和执行死刑人数最多的国家,国内媒体可能也不好意思对这个国际日作报道吧.     中国第一部《刑法》是1979年颁布实施,哪时离1949年10月1日建立中华人民共和国已有三十年时间.

移动花园

- apple - 设计|生活|发现新鲜
忙碌一天的上班族们,拖着疲惫的身体进入地铁. 倘若,引入眼帘的是此番美景,你是否会忘却这一天的烦恼和种种不顺. 芝加哥的艺术家将地铁的一节车厢装扮成绿意盎然的移动花园. 无论是天花板,座椅还是过道都被郁郁葱葱的绿色包裹着,并环绕城市绕行5小时. 多想长时间留在这节车厢中,想必每位走出来的乘客多多少少都会有些小失落吧.

C++0x 终成国际标准

- netcasper - LinuxTOY
C++0x 终于获得位于日内瓦的国际标准组织认可成为新标准. C++0x 的标准化过程将在今年内完成,届时将以 C++11 的名字呈现出来. 目前,包括 GCC 在内的各类编译器已经对它提供了较为完善的支持. 消息来源: Phoronix. 收藏到 del.icio.us |.

Google助您进军国际市场

- 丹枫 - Google 黑板报 - Google (谷歌)中国的博客网志,走近我们的产品、技术和文化
发布者:Michael Galvez和Srinidhi Viswanatha,Google全球广告商团队. Google新工具助您的企业走向世界. Google AdWords的设计初衷是将广告商和寻找他们商品和服务的客户联系起来,不管这些客户位于地球的哪个角落. 今天,我们高兴地宣布推出Google全球商机洞察和Google出口易,前者是一款帮助企业发现新的海外市场的免费在线工具,而后者则是一个整合了Google全球商机洞察、Google AdWords、Google 翻译及其他工具的网站,能够帮助广告商寻找、联络和服务他们全球的客户——无论他们是消费者还是寻找供应商的企业.

和出租司机谈国际局势

- willy - tombkeeper的和谐Blog
和北京的许多司机一样,他也爱谈国家大事,爱谈国际局势. 北京的这些司机们谈起自己的时候,对交车份儿之类的事情是非常不满的,对社会上的不平事也相当愤愤. 但谈起国际局势,则几乎百分之百都是《环球时报》的劲头,《新闻联播》的词句. 说起国际上最近正热闹的一些事情,他表达了自己《新闻联播》式的观点:“……仗着自己……干涉人家……”.

优秀的Android国际象棋软件

- de-ming (adam) - Solidot
Terry Browne 写道 "国际象棋是两名棋手对垒的经典棋类游戏,风靡世界,爱好者数以百万计,除了俱乐部,锦标赛外,互联网正日益成为他们对弈的平台. Android Market中的免费国际象棋软件也是数不胜数,但许多下载价值不大,功能有效. 这篇文章介绍了八款优秀的Android国际象棋软件,供爱好者参考研究.