`
flycomos.lee
  • 浏览: 280483 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 读取MCC, MNC

 
阅读更多

TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        /** 获取SIM卡的IMSI码
         * SIM卡唯一标识:IMSI 国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,
         * 储存在SIM卡中,可用于区别移动用户的有效信息。IMSI由MCC、MNC、MSIN组成,其中MCC为移动国家号码,由3位数字组成,
         * 唯一地识别移动客户所属的国家,我国为460;MNC为网络id,由2位数字组成,
         * 用于识别移动客户所归属的移动网络,中国移动为00,中国联通为01,中国电信为03;MSIN为移动客户识别码,采用等长11位数字构成。
         * 唯一地识别国内GSM移动通信网中移动客户。所以要区分是移动还是联通,只需取得SIM卡中的MNC字段即可
         */

        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 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位,其结构如下:

  09+M0M1M2M3+ABCD

  其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。

  可以看出IMSI在MSIN号码前加了MCC即NMSI,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个移动网络运营商,可以通过MNC来进行区别.

分享到:
评论

相关推荐

    android 如何获取MCC/MNC控制小区广播的开启

    下面将详细讲解如何在Android系统中获取MCC和MNC,以及它们在控制小区广播中的作用。 首先,让我们看看如何获取MCC和MNC: 1. **获取MCC和MNC的方法**: - 对于单SIM卡设备,可以使用以下代码来获取IMSI...

    基于Android10.0的MAC地址,IMEI号,手机号,MSISDN号,ICCID号获取的可行性验证

    基于Android10.0的设备上,获取相应的MAC地址,手机IMEI号,手机号,手机MSISDN号,手机ICCID号,进行可行性验证,特别是MAC地址方面,在Android10.0前后的设备均进行相应的接口验证,保证其可用性。适合正在致力于...

    Android获取运营商代码

    Android获取运营商代码 IMSI MCC MNC MIN

    Android 读取IMSI 和IMEI号支持双卡双待

    本文将深入探讨如何在Android平台上读取这两个标识符,特别是在支持双卡双待的设备上获取它们,并判断当前设备通过哪个卡进行网络连接。 IMSI是全球唯一的移动用户识别码,它由MCC(Mobile Country Code,移动国家...

    android获取IMEI号

    ### Android获取IMEI号:详解TelephonyManager类与设备识别码 在Android开发中,获取设备的唯一识别码(如IMEI号)是一项常见的需求,主要用于设备标识、数据分析或安全验证等场景。IMEI(International Mobile ...

    Android SIM卡号码获取

    // 获取MCC+MNC (需要权限 `<uses-permission android:name="android.permission.READ_PHONE_STATE" />`) TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); String networkOperator ...

    android获取手机号码_获取手机运营商

    除了以上的基本方法,`TelephonyManager`还有其他相关的方法,例如`getSimOperatorName()`用于获取SIM卡上的运营商名称,`getNetworkOperator()`获取网络运营商的MCC+MNC代码(国家码+移动网络码),这些信息在特定...

    cordova-plugin-carrier:用于获取设备运营商名称、mcc、mnc 和国家代码的cordova 插件

    cordova-plugin-carrier 是一个cordova 插件,用于获取设备的运营商名称、mcc、mnc 和国家/地区代码。 该信息来自设备的 SIM 卡。安装该插件适用于 Android 和 iOS 平台。 要安装它,请转到您的项目目录并运行以下...

    安卓Andriod源码——获取手机号码&&获取手机运营商.zip

    String mccMnc = telephonyManager.getNetworkOperator(); ``` `getNetworkOperatorName()`返回的是用户可以识别的运营商名称,如“中国移动”或“Verizon”。而`getNetworkOperator()`返回MCC+MNC组合,它是国际上...

    Android 获取手机SIM资料

    String mccMnc = tm.getNetworkOperator(); ``` 5. **获取国家代码**:返回ISO标准的国家代码,例如“CN”代表中国。 ```java String countryIso = tm.getNetworkCountryIso(); ``` #### 获取通话状态信息 ...

    EG25-G的so库和apn-config.xml

    当设备首次启动或需要建立网络连接时,系统会读取这个配置文件,以正确设置数据连接。对于EG25-G模块,这个文件可能包含了与该模块通信所必需的特定APN设置。 最后,`manifest.xml`文件在Android系统中是应用程序或...

    Android_获取手机_工程信息_小区信息_源代码

    `getNetworkOperator()` 方法可以获取运营商编码(MCC + MNC),这通常是从SIM卡中的IMSI获取的。 12. **获取运营商名称** `getNetworkOperatorName()` 方法可以获取当前网络运营商的名称。 13. **获取网络类型*...

    Android获取手机SIM卡运营商信息的方法.7z

    2. 获取SIM卡运营商代码(MCC+MNC),前三位是移动国家码(MCC),后两位是移动网络码(MNC): ```java String simOperator = telephonyManager.getSimOperator(); ``` 3. 获取SIM卡的国际移动用户识别码(IMSI):...

    Android 读取SIM卡参数

    - `getSimOperator()`:获取SIM卡的运营商编码,通常是MCC + MNC。 - `getSimOperatorName()`:获取SIM卡的运营商名称。 - `getSimCountryIso()`:获取SIM卡所在国家的ISO编码。 - `getSimState()`:获取SIM卡的...

    android获取sim信息

    此外,`getSimOperator()`方法返回的是MCC+MNC(Mobile Country Code + Mobile Network Code),是国际上用来识别运营商的数字代码。 5. **获取SIM序列号** `getSimSerialNumber()`方法可以获取SIM卡的序列号,这...

    Android 获取手机号码&&获取手机运营商-IT计算机-毕业设计.zip

    如果需要更详细的运营商信息,如MCC(移动国家代码)和MNC(移动网络代码),可以使用`getNetworkOperator()`方法。 在实际开发中,为了确保用户隐私,必须遵守Android的权限管理规定,合理请求权限,并在用户拒绝...

    android 全面解析apn

    Android 全面解析 APN APN(Access Point Name)是 GPRS 背bone 中的一个参考点,指向一个 GGSN(Gateway GPRS Support Node)。GGSN 是一个核心网络设备,负责将用户的数据流量转发到互联网上。APN 是一个字符串,...

    Android CarrierConfig介绍

    - **CarrierConfigLoader**:这是系统中负责加载和处理运营商配置的组件,它会根据SIM卡的MCC/MNC(Mobile Country Code / Mobile Network Code)信息查找并应用相应的配置。 4. **关键配置项示例** - `KEY_MMS_...

Global site tag (gtag.js) - Google Analytics