直接附上代码,具体实现new一个PhoneInfoUtils对象,调用其方法即可。

public class PhoneInfoUtils {private static String TAG = "PhoneInfoUtils";private TelephonyManager telephonyManager;//移动运营商编号private String NetworkOperator;private Context context;public PhoneInfoUtils(Context context) {this.context = context;telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);}//获取sim卡iccidpublic String getIccid() {String iccid = "N/A";iccid = telephonyManager.getSimSerialNumber();return iccid;}//获取电话号码public String getNativePhoneNumber() {String nativePhoneNumber = "N/A";nativePhoneNumber = telephonyManager.getLine1Number();return nativePhoneNumber;}//获取手机服务商信息public String getProvidersName() {String providersName = "N/A";NetworkOperator = telephonyManager.getNetworkOperator();//IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
//        Flog.d(TAG,"NetworkOperator=" + NetworkOperator);if (NetworkOperator.equals("46000") || NetworkOperator.equals("46002")) {providersName = "中国移动";//中国移动} else if(NetworkOperator.equals("46001")) {providersName = "中国联通";//中国联通} else if (NetworkOperator.equals("46003")) {providersName = "中国电信";//中国电信}return providersName;}public String getPhoneInfo() {TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);StringBuffer sb = new StringBuffer();sb.append("\nLine1Number = " + tm.getLine1Number());sb.append("\nNetworkOperator = " + tm.getNetworkOperator());//移动运营商编号sb.append("\nNetworkOperatorName = " + tm.getNetworkOperatorName());//移动运营商名称sb.append("\nSimCountryIso = " + tm.getSimCountryIso());sb.append("\nSimOperator = " + tm.getSimOperator());sb.append("\nSimOperatorName = " + tm.getSimOperatorName());sb.append("\nSimSerialNumber = " + tm.getSimSerialNumber());sb.append("\nSubscriberId(IMSI) = " + tm.getSubscriberId());return  sb.toString();}}

AndroidManifest.xml清单文件中加入权限

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

在这里补充下:
手机号码不是所有的SIM卡都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手机号码的数据写入到SIM卡中,能够读取SIM卡号的话应该有前提,那就是SIM卡已经写入了本机号码,不然是无法读取的。具体的什么样的卡能获取到号码,要自己具体测试才可以,就算是同一个运营商同一个套餐的卡也会有差别。

楼主项目用的物联卡就是获取不到号码,然后就用了iccid,下面科普下iccid:
SIM卡正面或者背面总有那么几行数字和字母,20位的,这就是iccid。CCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXXX 0MFSS YYGXX XXXXX。

前六位运营商代码:中国移动的为:898600;898602 ,中国联通的为:898601,中国电信898603

如果还想获取到更多的手机卡信息,可查看TelephonyManager的具体方法,这个就不在这里展开了。

参考于:

https://blog.csdn.net/qq_34452829/article/details/54017555

android获取SIM卡信息和手机号码相关推荐

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

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

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

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

  3. Android 获取SIM卡信息

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

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

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

  5. Android如何获取SIM卡信息

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

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

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

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

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

  8. android 获取sim卡operator

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

  9. IPhone之获取Sim卡信息

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

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

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

最新文章

  1. 第一个程序 - Windows程序设计(SDK)001
  2. redis分布式缓存(二)
  3. spark shell的运行模式汇总
  4. 兼容多种模块规范(AMD,CMD,Node)的代码
  5. Silverlight的发布
  6. 6. Zend Studio
  7. pyglet: a cross-platform windowing and multimedia
  8. matlab中文免费版下载以及安装教程(超详细)
  9. LoRaWAN协议中文版 第11章 下行ping帧格式(仅Class B)
  10. 针对五款IPA文件安装工具的深度评测
  11. 简单实用的电脑桌面待办清单应用
  12. AR涂涂乐项目之识别图制作制作地球仪剪影一
  13. 基础算法(三) --- 轮询
  14. 阿里云AMD服务器ECS实例g6a、c6a和r6a性能参数详解
  15. DCGAN训练小记(断点继续练习)
  16. 扩展CKEditor按钮
  17. 中鑫优配新股开盘破发你怎么看
  18. 张量中有关矩阵的Kronecker乘积和Khatri-Rao乘积
  19. 分享我的电子藏书:C系列
  20. 软件工程毕业设计课题(32)基于JAVA毕业设计JAVA二手交易系统毕设作品项目

热门文章

  1. 用 LSTM 预测股票价格
  2. 阿里云宝塔apache启动失败解决办法
  3. VCL界面开发工具!DevExpress VCL v19.2.5全新出发
  4. 如何破解红蜘蛛(控屏软件)
  5. 大数据杀熟!我被美团会员割了韭菜
  6. Tomcat做成系统服务
  7. DevOps 对比分析:产品、服务、开源投入
  8. vt-d 基本操作流程
  9. 巨潮资讯网-多层次资本市场信息披露平台
  10. 致远OA漏洞学习——A6版本test.jsp 文件上传