UICC相关类及文件操作

注:本文档基于Android 6.0
 

1 UICC相关类的控制

860a0b721059e3cac5737b00504635fc852.jpg

UiccController
UICC相关的类由UiccController控制,它维护UICC相关信息,监控卡状态变化,在PhoneFactory.makeDefaultPhone()中创建,只会创建一个实例。通过监听卡状态的变化来控制UiccCard对象的建立、销毁及其他相关操作。

UiccCard
与具体的卡对应,每张卡对应一个UiccCard对象。
 
UiccCardApplication
对应卡中的应用,每个应用对应一个UiccCardApplication对象。
 
CatService
实现了STK的服务,与RIL及app交互。
 
IccRecords
记录卡中的数据,通过IccFileHandler去读取数据。
有3个子类:SIMRecords、RuimRecords和IsimUiccRecords,
根据不同的应用创建相应的对象:

点击这里点击这里
UICC应用类型IccRecords对象
APPTYPE_SIM/APPTYPE_USIMSIMRecords
APPTYPE_CSIM/APPTYPE_RUIMRuimRecords
APPTYPE_ISIMIsimUiccRecords


 
IccFileHandler
负责读取UICC中的数据,
有5个子类:SIMFileHandler、RuimFileHandler、UsimFileHandler、CsimFileHandler和IsimFileHandler,
根据不同的应用创建相应的对象:

点击这里点击这里
UICC应用类型IccFileHandler对象
APPTYPE_SIMSIMFileHandler
APPTYPE_USIMUsimFileHandler
APPTYPE_CSIMCsimFileHandler
APPTYPE_RUIMRuimFileHandler
APPTYPE_ISIMIsimFileHandler


 
 

2 UICC文件操作


以读取联系人为例,以下为涉及到的主要的类及流程图。
4bb69d0e2875b2d8f82110fa6ca2bd878cd.jpg

 eb11dd87e9f180636dde64af64496aa43ac.jpg
IccProvider
继承ContentProvider,提供UICC中联系人操作的接口,APP可通过ContentProvider的方式访问。
 
UiccPhoneBookController
实现了IIccPhoneBook,以AIDL的方式提供访问联系人的接口
 
IccPhoneBookInterfaceManagerProxy
IccPhoneBookInterfaceManager的代理。
 
IccPhoneBookInterfaceManager
有2个子类:
RuimPhoneBookInterfaceManager (For CDMAPhone),
SimPhoneBookInterfaceManager (For GSMPhone)
 
AdnRecordCache
缓存联系人信息,当上层发起联系人请求时,会先判断是否已经缓存了联系人信息,若是,则返回缓存的数据,否则从卡里读取。
 
AdnRecordLoader
调用IccFileHandler读取UICC中的数据。
 
 
 
 

转载于:https://my.oschina.net/igiantpanda/blog/2222425

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值