Android6.0 pin锁卡流程 从Settings到Ril流程追踪

记录下android6.0的pin锁卡流程

settings里在IccLockSettings.java 类中的 tryChangeIccLockState方法中调用Phone类

Phone类mPhone.getIccCard().setIccLockEnabled(mToState, mPin, callback)

setIccLockEnabled是在IccCard类中的一个方法 IccCard是一个interface 由IccCardProxy.java实现这个interface

并在IccCardProxy.java中的setIccLockEnabled方法中调用UiccCardApplication.setIccLockEnabled

UiccCardApplication是一个工具类,调用此类的构参(在Phone进程内有多个对象调用此构参,后续待研究)会将CommandsInterface传给UiccCardApplication.

在此工具类中的setIccLockEnabled方法内调用CommandsInterface.setFacilityLockForApp

实现CommandsInterface的类有5个: BaseCommands.java

                                                          ImsPhoneCommandInterface.java(继承的是BaseCommands)

                                                          RIL.java

                                                          SimulatedCommands.java

                                                          SipCommandInterface.java

                                                          RIL.java负责与RIL.C通信 

主要通信在RIL.java类中

RIL.java的setFacilityLock方法内有一个setFacilityLockForApp函数,该函数内有一个send函数,通过这个send发送一个event后使用LocalSocket.getOutputStream().write把pin数据写入并传递给RIL.C

RIL.C负责与modem通信

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值