sim卡联系人读取流程
来源:互联网 发布:优化电脑配置的软件 编辑:程序博客网 时间:2024/06/05 05:18
SIM卡联系人读取流程
源代码路径 frameworks/base/telephony/java/com/android/internal/telephony/
联系人的标记为EF_ADN
(一)、外部读取sim卡联系人是通过IccProvider来调用的
而IccProvider是通过aidl的接口调用IIccPhoneBook.Stub.asInterface(ServiceManager.getService(“simphonebook”))来得到IccPhoneBook的对象,这个对象的实现是由IccPhoneBookInterfaceMangerProxy来实现的。IccPhoneBookInterfaceMangerProxy实现了IccPhoneBook.stub定义的接口
在IccPhoneBookInterfaceMangerProxy的构造函数中调用了ServiceManager.addService(“simphonebook”,this)来注册了IccPhoneBookInterfaceMangerProxy实现的接口。
(二)、sim卡联系人读取的内部逻辑
1、IccPhoneBookInterfaceMangerProxy接口实现调用IccPhoneBookInterfaceManger接口实现
2、IccPhoneBookInterfaceMangerProxy和IccPhoneBookInterfaceManger都是在PhoneProxy中被实例化的。
3、IccPhoneBookInterfaceManger在构造的时候被传进了一个PhoneBase的对象,但这个Phone对象并没有参与sim卡联系人的读取操作。它的接口函数有:
(1)getAdnRecordsInEf //获取sim联系人
通过调用AdnRecordCache的requestLoadAllAdnLike函数来实现的,并发出EVENT_LOAD_DONE的消息
(2)updateAdnRecordsInEfByIndex //更新联系人
通过调用AdnRecordCache的updateAndByIndex来实现的,并发出EVENT_UPDATE_DONE
4、IccPhoneBookInterfaceManger有个继承类SimPhoneBookInterfaceManger(for gsm):这个继承类实例化了IccPhoneBookInterfaceManger中AdnRecordCache的对象
5、AdnRecordLoader
PhoneBase是这个类的一个成员变量,其成员函数loadFromEF中调用了PhoneBase.mIccFileHandler.loadEFLinearFixed函数
6、在PhoneBase类中
有一个IccFileHandler的成员对象,PhoneBase的继承类有GSMPhone(for gsm)和CDMAPhone(for cdma)。IccFileHandler的成员对象是在GSMPhone和CDMAPhone实例化的。
7、IccFileHandler
此类从sim卡读取相关内容,成员函数LoadEFLinearFixed
它的继承类SIMFileHandler(for gsm)和RuimFileHandler(forcdma)
8、IccRecords
这个类有两个继承类SIMRecords(for gsm)和RuimRecords(for cdma)通过IccFileHandler执行了一些从sim卡加载数据的操作。这个类在构造的时候穿入了PhoneBase的对象,这个类通过PhoneBase的成员变量IccFileHandler执行从sim卡加载数据的操作
9、SIMRecords
在这个类中监听了EVENT_SIM_READY消息,收到这个消息后会调用fetchSimRecords()来读取sim卡中的records
- SIM卡联系人读取流程
- sim卡联系人读取流程
- SIM卡联系人读取流程
- sim卡联系人读取流程
- 读取SIM卡中联系人流程
- 读取sim 卡联系人信息
- android读取sim卡联系人
- android读取sim卡联系人
- android读取sim卡联系人
- 开机导入Sim卡联系人流程分析
- Windows Mobile读取SIM卡联系人
- 从SIM卡中读取联系人信息
- SIM卡信息初始化和联系人读取
- Android lollipop 5.1 读取SIM卡联系人
- Android读取SIM联系人信息
- Android读取SIM联系人信息
- 查询SIM卡联系人——源码流程简介
- Windows Mobile读取SIM卡联系人(不通过OpenNETCF)
- 关于文字排版方法
- oceanbase数据库update server主备机日志同步方式
- ip pim rp-announce-filter和ip multicast bounary
- HBase简介(很好的梳理资料)
- JSON操作工具类
- sim卡联系人读取流程
- Mybatis+Mysql插入时间默认值问题
- android ImageView scaleType
- Lua字符串匹配
- VC删除非空目录及所有文件的代码
- Eclipse 生成带中文注释的GetSet方法
- JAVA中线程同步的方法
- Date操作工具类
- 【M3U8】测试地址及android播放器