android telephony 之 SIM 卡文件系统


android telephony 是一个很大的模块,涉及到手机的基本通讯。这里记录和SIM卡联系人相关的一些内容,以备后记。

首先,要了解 SIM 卡,以及 SIM 卡文件系统(这个如果知道的话,对理解代码会非常有好处)。

一:SIM卡相关知识

我们平时听过的卡 SIM, USIM, UIM等统称为:UICC — Universal Integrated Circuit Card

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 卡文件系统(必须了解的知识)(SIM card file system structure)

android telephony 之 SIM 卡文件系统_第1张图片



(1)文件结构:

 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文件方法有时候是不一样的。

这里有英文版本:

MF:The root level of the file system is known as the Master file.

DF:Directories are known as Dedicated files and are of a fixed size.

EF:Individual records (or files) are known as Elementary files.

All files are identified as an address (a DWORD value), rather than a filename.

 

(2)文件类型

Transparent: 透明结构的EF 由一个字节序列组成。当文件读或更新,字节序列活动是参照相对地址(OFFSET)进行的,相对地址可表示出起始操作的地址(用字节表示)和读出、更新的字节数。透明EF 的第一个字节有一个相对地址‘0000’。EF 主体的数据长度在EF 的文件头中。

Linear Fixed File: 线性固定EF 文件由一个记录长度固定的记录序列组成。第一个记录记录号是1。记录的长度和记录长度与记录个数的乘积存放在EF 文件头中。

Cyclic: 循环文件用于以时间顺序存储的记录,当所有的记录空间都占用时,新的存储数据将覆盖最旧的信息。  

访问不同的文件类型,使用的方式也将不同。对于USIM,RUIM等卡基本文件结构应该是一致的,局部存储信息的单元,位置不同而已。







你可能感兴趣的:(android,telephony)