不管是Phone还是STK,其所有的功能都是要建立在SIM卡的基础上才能谈得上其作用。而对于SIM卡,Android系统又有一个专门的管理系统,即UICC系统。
首先说下SIM卡,手机中使用的SIM卡统称为UICC(Universal Integrated Circuit Card),有存储数据的能力(保存通讯录),并有唯一的ID(ICCID),都要具备运营商标识(MCC/MNC)等,其本身也是一个文件系统,而因其存储分区的不同又分为不同的种类,常用的有SIM和USIM卡两种。
UICC系统总共涉及以下几个java类:
1、UiccController.java
----Uicc的总控制接口,向外提供UiccCard、UiccCardApplication、IccRecords、IccFileHandler对象。
2、UiccCard.java
----向外提供UiccCardApplication对象,并完成CatService的初始化。
3、UiccCardApplication.java
----创建并向外提供IccFileHandler、IccRecords对象
4、IccFileHandler.java
----负责SIM卡文件系统的读写
5、IccRecords.java
----保存SIM卡常用信息,包括SIM联系人、语音信箱等
6、CatService.java
----负责STK业务
他们的孵化关系又可以用下图来表示:
特别声明:本UICC系列文章学习并借鉴了优快云博文作者工程师阿杜前辈的UICC系列博文的优秀图文与总结表述等。本人主要是借鉴前辈的模板后做了android7.1双卡的学习梳理,本文不做任何商业用途,特此声明。
再次感谢前辈优快云博文作者工程师阿杜!http://blog.youkuaiyun.com/u010961631/article/category/2430627