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. Laravel 上使用 phpexcel的两种方式
  2. 使用控件时提示“未声明标识符“的解决方法
  3. sql server 2008学习2 文件和文件组
  4. AI新时代-大神教你使用python+Opencv完成人脸解锁(附源码)
  5. IOS 多层级路由导航控制器 NavigationControoller 实现路由切换
  6. windows安装TortoiseGit
  7. jq如何获取选中option的值_如何用jQuery获得select的值
  8. Sino Global Capital CEO:Robinhood暂停GME股票交易凸显了DeFi的重要性
  9. 推箱子c语言代码有注释,C语言推箱子源代码推箱子代码完善
  10. NX入门到提高全部视频教程
  11. AABB与OOB包围盒子
  12. python判断一个数是否为质数(素数)
  13. 卡通飞翔的牛动画特效
  14. vue h5微信公众号网页(总结)
  15. 建议114:MD5不再安全
  16. 数据结构 队列学习总结
  17. 一种基于BP神经网络的车牌字符识别方法
  18. hdu 5238 Calculator(线段树+中国剩余定理)
  19. MySQL - 查询数据库里所有表名和字段名
  20. c语言遍历文件内容_跨平台的C语言网络框架库acl

热门文章

  1. 学习线性代数-行列式 笔记(一)
  2. maven项目,pom.xml文件变成小虫子(蜘蛛)解决办法
  3. c语言程序设计答案苏小红,C语言程序设计苏小红版答案[推荐阅读]
  4. 网线制作:网线和水晶头的接法
  5. Haar-like特征计算和积分图详解
  6. 驱动开发之注册表:获取注册表HKEY_CURRENT_USER对应路径(SID)
  7. 教老妈学认字的战斗史
  8. java9新特性-4-模块化系统: Jigsaw与Modularity
  9. echarts之toolbox-x,y
  10. Mysql系列之 -配置详情