android 获取sim卡运营商信息

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

TelephonyManager 的使用 TelephonyManager 提供设备上获取通讯服务信息的入口,应用程序使用这个类的方法来获取电话的服务商或者状态。程序也可以注册一个监听器来监听电话状态的改变。 不需要直接实例化这个类,使用Context.getSystemService(Context.TELEPHONY_SERVICE)来获取这个类的实例。注意:需要对应的权限。

getSimOperatorName() Returns the Service Provider Name (SPN). // 获取服务提供商名字,比如电信,联通,移动 用下面的方法 第一种方法: 获取手机的IMSI码,并判断是中国移动/中国联通/中国电信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″)){//中国电信} }//第二种方法
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String operator = telManager.getSimOperator();if(operator!=null){ if(operator.equals(“46000″) || operator.equals(“46002″)|| operator.equals(“46007″)){//中国移动}else if(operator.equals(“46001″)){//中国联通}else if(operator.equals(“46003″)){//中国电信} }

在文件AndroidManifest.xml中添加权限 其他方法具体使用方法请查看API 文档TelephonyManager中方法说明。

在文件 AndroidManifest.xml 中添加权限

TelephonyManager tel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE);String simOperator = tel.getSimOperator();

IMSI共有15位,其结构如下: MCC+MNC+MIN MCC:Mobile Country Code,移动国家码,共3位,中国为460; MNC:Mobile Network Code,移动网络码,共2位,电信03,移动02,联通GSM 01,一个典型的IMSI号码为460030912121001; MIN共有10位,其结构如下: 09+M0M1M2M3+ABCD 其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。 可以看出IMSI在MIN号码前加了MCC,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个CDMA运营商,可以通过MNC来进行区别.

功能 说明

getCellLocation() 返回的单元格位置的装置 ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION

getDeviceId() 返回的IMEI / MEID的设备。 如果该设备是GSM设备 然后IMEI号将被退回,如果该设备是一个CDMA设备然后MEID 将被退回 READ_PHONE_STATE

getLine1Number() 返回设备的电话号码(MSISDN号码) READ_PHONE_STATE

getNetworkOperatorName() 返回注册的网络运营商的名字

getNetworkOperator() 返回的MCC +跨国公司的注册网络运营商

getNetworkCountryIso() 返回注册的网络运营商的国家代码

getSimCountryIso() 返回SIM卡运营商的国家代码 READ_PHONE_STATE

getSimOperator() 返回SIM卡运营商的单个核细胞数+冶 READ_PHONE_STATE

getSimOperatorName() 返回SIM卡运营商的名字 READ_PHONE_STATE

getSimSerialNumber() 返回SIM卡的序列号 READ_PHONE_STATE

getNetworkType() 返回网络设备可用的类型。 这将是 下列其中一个值:

TelephonyManager.NETWORK_TYPE_UNKNOWN TelephonyManager.NETWORK_TYPE_GPRS TelephonyManager.NETWORK_TYPE_EDGE TelephonyManager.NETWORK_TYPE_UMTS READ_PHONE_STATE getPhoneType() 返回设备的类型。 这将是以下值之一: TelephonyManager.PHONE_TYPE_NONE TelephonyManager.PHONE_TYPE_GSM TelephonyManager.PHONE_TYPE_CDMA READ_PHONE_STATE getSubscriberId() 返回用户识别码(的IMSI)的设备 READ_PHONE_STATE

getNeighboringCellInfo() 返回NeighboringCellInfo类代表名单 相邻小区的信息,如果可用,否则将 返回null ACCESS_COARSE_UPDATES

Android 获取SIM卡信息相关推荐

  1. android 获取sim卡信息list_提醒:手机要设置SIM卡密码!如何设置?有何用处?攻略来了...

    近期,一篇标题为<一部手机失窃而揭露的窃取个人信息实现资金盗取的黑色产业链>的文章引发关注和热议,不法分子偷盗个人手机后,在某政务App窃取用户个人信息,进而申请网贷消费造成用户财产损失的 ...

  2. Android开发之获取SIM卡信息和手机号码

    获取SIM卡信息和手机号码的工具类,记录一下方便以后使用 import android.content.Context; import android.telephony.TelephonyManag ...

  3. Android如何获取SIM卡信息

    android 获取sim卡运营商信息 TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TELEPHO ...

  4. android 双卡开发获取sim卡默认数据卡,获取sim卡信息,sim1卡,sim2卡 2G/3G/4G信号强度

    1:默认数据卡 private int getDefalutDataID(){SubscriptionManager subscriptionManager = (SubscriptionManage ...

  5. android 获取sim卡operator

    android 获取sim卡运营商信息 TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TELEPHO ...

  6. 获取SIM卡信息的工具类

    本工具类可以获取手机的IMSI.本机的手机号码.SIM卡的服务商. 移动.联通可正常获取到SIM卡的手机卡号,但是电信的获取不到.... 首先,需要在AndroidManifest.xml清单配置文件 ...

  7. IPhone之获取Sim卡信息

    原文地址:IPhone之获取Sim卡信息 作者:飞舞的鸡毛 首先,加入一个Framework. 引入头文件 #import <UIKit/UIKit.h> #import<CoreT ...

  8. ios获取sim卡信息以及手机号码

    1.加入一个Framework(CoreTelephony.framework).2.引入头文件#import <CoreTelephony/CTTelephonyNetworkInfo.h&g ...

  9. 双卡android手机SIM卡信息探索 ,获取手机 SIM卡数量和SIM卡id、iccid

    废话不多,直接上干货==> 1 以下所有方法都需要在AndroidManifest.xml声明权限 <uses-permission android:name="android. ...

最新文章

  1. SVN的标准目录结构:trunk、branches、tags
  2. Xss-labs闯关总结
  3. 收藏功能_微软Edge获得了新的收藏夹菜单、PDF功能等
  4. Qtdesigner 插入图片(一步到位)
  5. AppStore安装历史版本,利用Charles抓包安装历史版本
  6. vtk相机_VTK相机参数
  7. 一位10年 Java 工作经验的架构师聊 Java 和工作经验
  8. m3u8视频下载转为mp4
  9. 微信小程序并发服务器架构,「系统架构」如何设计一个健壮高效的微信小程序登录方案...
  10. python根据四点坐标截取图片
  11. 域名是干啥用的?企业自己都记不住的域名还能发挥作用吗?
  12. 嵌入式linux安装dropbear
  13. java封装继承多态的理解_用最傻瓜式的方法理解Java中的封装、继承和多态
  14. 单片机毕设分享 stm32的RFID与指纹识别的门禁系统
  15. 特斯拉首款电动卡车发布;自媒体侵权美团点评被判赔10万;贾跃亭辞任酷派董事长丨价值早报
  16. 带你快速入门AXI4总线--AXI4-Full篇(3)----XILINX AXI4-Full接口IP源码仿真分析(Master接口)
  17. 计算机信息系统集成资质二级 列表6,计算机信息系统集成资质等级二级
  18. 查找你的域名DNS服务器
  19. win10下 frpc的开机自启动
  20. windows 窗口分屏快捷键

热门文章

  1. oppo应用认领,将应用一致的签名写入空包
  2. 瓜分20亿红包,就差双11「实在指南」!
  3. 从零开始学USB(七、端点、管道、接口、配置、设备)
  4. 计算机缺少网络连接,电脑找不到网络连接怎么回事
  5. linux查看内存有多少根,linux 查看 内存条具体信息, 几根内存条 命令
  6. php代码加nofollow,帝国cms导航怎么加nofollow
  7. 你真的懂优惠券吗?聊聊京东因为它,被薅羊毛7000万背后的玄机
  8. android padding margin的区别,如何正确使用padding和margin
  9. 【OpenVINO™--01】安装向导--认识、安装、环境搭建和验证
  10. Adobe Photoshop CC 2018图文安装教程,附下载地址