1 SIM卡存储数据类型:

(1)固化数据:SIM卡卡号、国际移动用户识别码(IMSI)、用户加密密钥(Ki)、加密算法(A3、A8)、个人解锁PUK码等。
(2)静态数据:用户接人等级、短消息中心(SMSC)号码、各类业务接人号等。
(3)动态数据:临时移动用户识别(TMSI)码、区域识别(LAI)码、密匙(Kc)、RAND、MS所处基站小区、PIN码和PUN码出错计数、          PIN码开关使能等。
(4)个人数据:本机电话号码、用户电话簿、短信、费率信息、缩位拨号、转移电话号码等

2 UICC、SIM、USIM

UICC Universal Integrated Circuit Card 通用集成电路卡 UICC中可以包括多种逻辑模块
USIM 通用用户标识模块(Universal Subscriber Identity Module,USIM)
SIM  用户标识模块(Subscriber Identity Module,SIM)
USIM可以同时包括USIM和SIM两个逻辑模块,也可以只包括USIM逻辑模块,前者是复合USIM卡,也就是说可以兼容2G与3G终端,后者是纯粹的USIM卡,只能在3G终端中使用,而UICC是定义智能卡物理特性的总称,可以包含多种业务应用,比如USIM、SIM、IP多媒体业务标识模块等。
在这里插入一段代码,开发过程有时候我们会想判断当前是sim卡还是usim卡,源码是这样做的   
 private int updateEfForIccType(int efid) {// Check if we are trying to read ADN recordsif (efid == IccConstants.EF_ADN) {if (phone.getIccCard().isApplicationOnIcc(IccCardApplication.AppType.APPTYPE_USIM)) {return IccConstants.EF_PBR;}}return efid;}public boolean isApplicationOnIcc(IccCardApplication.AppType type) {if (mIccCardStatus == null) return false;for (int i = 0 ; i < mIccCardStatus.getNumApplications(); i++) {IccCardApplication app = mIccCardStatus.getApplication(i);//遍历判断应用的类型是否为APPTYPE_USIMif (app != null && app.app_type == type) {return true;}}return false;}

虽然这个方法是不对phone以外代码开放,不过还是可以参考下思路的,还有一种直接从卡上读取属性也可以,只是好像没有标准的AT命令需要芯片厂商自行添加

3 MF DF EF ADF

MF(Master File),也称作主控文件。其他所有的DF和EF都位于MF之下。
DF(Delicated File)一个有许多文件的功能分组,DF只具有头信息,相当于文件地址指针。
EF (Elementary File)基本文件,这个就是真正的文件了,数据内容保存在这里。
与SIM卡文件类型相比,除了有MF,DF,EF文件外,还增加了ADF文件类型即是USIM (Application DF,ADF)
其中EF又分为Linear fixed EF(保存短信,电话号码,邮箱等),Transparent EF(IMSI 一些基本数据),Cyclic EF,所以在代码中看到读取EF文件方法有时候是不一样的。

4 几个和卡相关的类

IccConstants.java  记录位置常量,写几个使用频率高的,比如
static final int EF_ADN = 0x6F3A;
static final int EF_FDN = 0x6F3B;
static final int EF_SDN = 0x6F49;
static final int EF_EXT1 = 0x6F4A;   
static final int EF_SMS = 0x6F3C;  
IccCardStatus.java 记录SIM卡的状态,如ABSENT, READY,UNKNOW,ETC。其它应用判断卡状态也就是这几个值
IccRecords.java 把它理解成描述卡上文件内容的一个类应该比较合适,
IccProvider.java  这个不需要多解释,对应用而言知道怎么使用它操作数据就可以,通过它拿到的数据已经解析好的了。
上面的内容有些在网上可以找到,有些是android源码中的,这里整理下列出个人觉得对学习sim卡相关知识有些帮助的东东,如果有遗漏的欢迎留言告诉我。

关于sim/usim的一些概念相关推荐

  1. SIM USIM UIM RUIM

    资料来自网络,经整理. SIM卡 SIM卡(Subscriber Identity Module) ,即用户识别卡,是全球通数字移动电话的一张个人资料卡.它采用A 级加密方法制作,存储着用户的数据.鉴 ...

  2. android -- sim/usim卡导联系人

    前面有一篇说了导卡上的信息(android 信息(mms)的故事(七)-- sim卡短信),sim卡上还有一类非常重要的信息,就是卡上的联系人.不知道大家注意到没有,android手机,尤其是那些带有 ...

  3. Android 源码开发系列(二)Android SIM/USIM

    随着手机的普及,大家从非智能机到智能机的转变,从没有操作系统的定制机到智能手机,但唯一没有变的是,手机中的SIM,今天我们就来谈谈手机中SIM卡相关的内容.在日常生活中,SIM卡就是一张很小的卡片,但 ...

  4. SIM USIM ESIM UICC科普

  5. android 联系人 --- 读取usim卡的邮箱

           本文主要关于usim卡上邮箱地址分析实例的,同时也附带了一个联系人号码的例子,之前分别写过读取sim/usim卡上短信息和联系人信息的文章,偏向代码调用流程,这次把重点放在具体解析过程. ...

  6. UICC, CSIM, RUIM, UIM, USIM, SIM

    SIM: GSM UIM: CDMAone USIM: UMTS and GSM RUIM: support GSM, CDMAone, CDMA2000 UICC: all supported, i ...

  7. SIM(USIM)卡中的数据和2G/3G网络的鉴权

    标签: sim usim卡 数据 2g/3g 网络 鉴权 杂谈 分类: 基础知识     通常SIM(USIM)卡内的数据包括IMSI.ICCID.Ki(2G).Key(3G).OPC(3G).PIN ...

  8. android+sim卡短信,android 信息(mms)开发(七)-- sim卡短信

    这篇关于android源码是如何操作sim卡上的信息说明,sim\usim卡的信息说起来这算是比较特别的一部分,由于android源码的信息是没有开机自动导卡信息和联系人的,所以有时会忘掉它的存在应该 ...

  9. 手机MODEM 开发(33)---SIM卡基础知识

    SIM卡基础知识 什么是SIM卡 SIM卡是(Subscriber Identification Module 客户识别模块)的缩写,也称为用户身份识别卡,移动无线终端必须装上此卡方能使用.SIM卡是 ...

最新文章

  1. 2019年,人工智能要落地,更要小心被“摔死”
  2. WebSocket 从入门到写出开源库
  3. java spring事务管理系统_Java Spring-事务管理概述
  4. Linux中nginx安装基础教程
  5. [Ext JS 4] MVC 应用程序框架
  6. matlab isnumeric函数,matlab中isnan函数
  7. 传输层协议(10):滑动窗口(4)
  8. python3.5中文手册chm_python2.7中文手册.chm
  9. java飞机订票系统课程设计_JAVA数据结构课程设计,航空订票系统求助
  10. 数据结构期末考试【含答案】
  11. 让电脑假装蓝屏的C语言,假装电脑坏了 一键让电脑进入蓝屏或重装系统界面方法...
  12. Lee滤波和Refine-Lee滤波
  13. 高薪程序员面试题精讲系列54之你熟悉B树吗?有哪几种B树?
  14. PDF转图片哪个格式最清晰?PDF转高清图片的方法
  15. vue-pdf+element实现全屏窗口pdf分页预览,pdf打印实现和解决打印乱码
  16. Linux服务器上的mongodb:/lib64/libc.so.6: version `GLIBC_2.14‘ not found (required by /app/hems/mong)
  17. 【经理人领导力突破训练营】经理人必修课,如何成为成功的经理人?
  18. 利用Java SE基本知识是开发【学生信息管理系统】中
  19. Linux进程通信——匿名管道、命名管道、管道的特性和共享内存
  20. 世界上谁在乎您一个打工人的想法呢

热门文章

  1. VMware残留问题
  2. Slwave运行仿真时被终止,没有出现提示错误。
  3. UE4_相对于某一个Actor的夹角计算
  4. educoder平台哪里有答案_2020青骄第二课堂登陆平台地址入口 青骄第二课堂禁毒知识竞赛入口...
  5. 发票查验一直网络异常、无法显示验证码、点击查验没反应怎么办?
  6. 金老师语录摘要(五)
  7. 逻辑对计算机,对计算机模拟中的逻辑、方法论的几点认识
  8. 免费录屏软件Captura下载安装及分享
  9. AI - H2O - 安装与运行
  10. 【QT】野指针报错The inferior stopped because it received a signal from the Operating System.