新版本word流程图word怎么画流程图

SIM卡文件表_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
SIM卡文件表
上传于|0|0|文档简介
&&SIM卡文件表
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢contacts(2)
本文主要讲USIM卡插入手机后读取卡中contacts信息的流程。
先介绍几个类的作用:
IccProvider:对外暴露的接口,我们通过它来查询SIM卡中的contacts信息
IccPhoneBookInterfaceManager: PhoneBook操作的服务
IccPhoneBookInterfaceManagerProxy:对外的PhoneBook操作服务, 上面类的代理.
IccRecord:存储与卡相关的一些信息
AdnRecord:一条联系人信息读取后被封装的类型
AdnRecordCache:对SIM卡中联系人信息进行Cache
AdnRecordLoader:实际通过IccFileHandler去获取adn信息的类
IccFileHandler:向RIL发起请求,或者接受反馈
RIL:向底层发起请求,并接收反馈
大体流程图如下:
重要的几个方法:
public List&AdnRecord& getAdnRecordsInEf(int efid) {
if (mPhone.getContext().checkCallingOrSelfPermission(
android.Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
throw new SecurityException(
"Requires android.permission.READ_CONTACTS permission");
synchronized(mLock) {
checkThread();
AtomicBoolean status = new AtomicBoolean(false);
Message response = mBaseHandler.obtainMessage(EVENT_LOAD_DONE, status);
efid = updateEfForIccType(efid);
if (DBG) logd("getAdnRecordsInEF: efid=" + efid);
if (mAdnCache != null) {
mAdnCache.requestLoadAllAdnLike(efid,
mAdnCache.extensionEfForEf(efid), null, response);
waitForResult(status);
loge("Failure while trying to load from SIM due to uninitialised adncache");
if (mRecords == null && efid == IccConstants.EF_PBR && !mAdnCache.isPbrPresent()) {
logd("getAdnRecordsInEF: Load from EF_ADN as pbr is not present");
mForceAdnUsage = true;
return getAdnRecordsInEf(IccConstants.EF_ADN);
private int updateEfForIccType(int efid) {
if (efid == IccConstants.EF_ADN && !mForceAdnUsage) {
if (mPhone.getCurrentUiccAppType() == AppType.APPTYPE_USIM ||
mPhone.getCurrentUiccAppType() == AppType.APPTYPE_CSIM) {
return IccConstants.EF_PBR;
public ArrayList&AdnRecord& loadEfFilesFromUsim() {
synchronized (mLock) {
if (!mPhoneBookRecords.isEmpty()) {
if (mRefreshCache) {
mRefreshCache = false;
refreshCache();
return mPhoneBookR
if (!mIsPbrPresent) return null;
if (mPbrFile == null) {
readPbrFileAndWait();
if (mPbrFile == null) return null;
int numRecs = mPbrFile.mFileIds.size();
if ((mAnrFlagsRecord == null) && (mEmailFlagsRecord == null)) {
mAnrFlagsRecord = new ArrayList[numRecs];
mEmailFlagsRecord = new ArrayList[numRecs];
for (int i = 0; i & numR i++) {
mAnrFlagsRecord[i] = new ArrayList&Integer&();
mEmailFlagsRecord[i] = new ArrayList&Integer&();
for (int i = 0; i & numR i++) {
readAdnFileAndWait(i);
readEmailFileAndWait(i);
readAnrFileAndWait(i);
return mPhoneBookR
重要的log信息
Line 10831: 07-15 18:52:30.427 D/IccProvider( 3714): [IccProvider] query
Line 10835: 07-15 18:52:30.427 D/IccProvider( 3714): [IccProvider] loadFromEf: efType=28474, subscription=3
Line 10837: 07-15 18:52:30.429 D/SimPhoneBookIM( 3714): [SimPbInterfaceManager] getAdnRecordsInEF: efid=20272
Line 10843: 07-15 18:52:30.429 D/UsimFH
( 3714): Using Global Phonebook
Line 10845: 07-15 18:52:30.429 D/UsimFH
( 3714): Using Local Phonebook
Line 10847: 07-15 18:52:30.429 D/IccProvider( 3714): [IccProvider] adnRecords.size=500
Line 10849: 07-15 18:52:30.429 D/IccProvider( 3714): [IccProvider] loadRecord: Luoyi, ,
Line 33763: 07-15 18:54:38.049 D/UsimPhoneBookManager( 3714): Loading PBR done
Line 53039: 07-15 18:55:34.067 D/AdnRecordCache( 3714): Using Local Phonebook
SIM卡基础知识
SIM卡上的所有数据都是以文件的形式存放在卡片数据存储区中的,如下图所示:
MF:代表根目录,DF:代表目录,EF:代表文件
三种EF文件:透明文件Transparent/记录文件Linear fixed/循环文件Cydic
卡片上,每个目录或文件都有自己的ID,称为FID
SIM 看文件结构如下:
SIM卡文件系统结构如下:
- 3F Master file (MF,文件系统根目录)
- 7F Dedicated file (DF,专用文件目录)
- 2F Elementary file(MF,位于主文件目录下)
- 6F Elementary file(MF,位于专用文件目录下)
- SIM: 用户识别模块(Subscriber Identity Module) (GSM/WCDMA/TD-SCDMA) UICC卡上存储GSM用户签约信息的一个应用
- USIM: 通用用户识别模块(Universal Subscriber Identity Module) (GSM/WCDMA/TD-SCDMA) UICC卡上存储3G用户签约信息的一个应用。
- USIM可以同时包括USIM和SIM两个逻辑模块,也可以只包括USIM逻辑模块,第一种叫做复合USIM卡,也就是说可以兼容2G与3G终端,第二种是纯粹的USIM卡,只能在3G终端中使用。
USIM与SIM对比
USIM采用双向鉴权,SIM采用单向鉴权,所以USIM的安全性能更高;
USIM卡机卡接口的速率约为230bits/s,远优于SIM;
USIM可以同时支持4个并发的逻辑应用,优于SIM;
相对与SIM对STK功能的支持,USIM支持更丰富的STK逻辑通道,也让基于USIM主动发起多业务变成可能(USAT)。
相对于SIM,USIM中的电话号码簿每个联系人都可以对应有多个号码以及多个昵称
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4331次
排名:千里之外
原创:28篇
(1)(1)(5)(1)(2)(3)(1)(9)(4)(3)【图文】SIM卡知识(经典)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
SIM卡知识(经典)
上传于|0|0|暂无简介
大小:5.18MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢1507人阅读
android telephony(1)
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)
(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等卡基本文件结构应该是一致的,局部存储信息的单元,位置不同而已。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1180345次
积分:18702
积分:18702
排名:第360名
原创:700篇
转载:115篇
译文:12篇
评论:111条
(2)(10)(12)(22)(23)(9)(6)(4)(11)(11)(11)(11)(31)(49)(31)(91)(73)(30)(24)(46)(38)(47)(35)(25)(29)(6)(10)(18)(17)(15)(77)(2)(1)}

我要回帖

更多关于 怎么用word画流程图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信