主动上报电话信息流程分析

1,主动上报电话信息流程分析

和打电话,主动接听,挂断相对应的分别是远程来电,远程挂断电话等等,这时候消息的流程处理刚好相反。

首先接收到消息的是Modem层,然后Medoem再上传给RIL层,RIL进程通过sokcet将消息发送给

RILJ(framework层的RIL),进入RILJ的processUnsolicited方法.当有来电或者远程挂断时, RIL层发送

的是RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED消息。

 

RIL.java 的processUnsolicited方法对RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED消息处理逻辑如下,

1,首先获取该消息的结果,

case RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED: ret =  responseVoid(p); break;

responseVoid方法返回的是null,

private Object
    responseVoid(Parcel p) {
        return null;
    }

2,然后分发消息,

case RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED:
    if (RILJ_LOGD) unsljLog(response);
mCallStateRegistrants.notifyRegistrants(new AsyncResult(null, null, null));
    break;

Registrants是典型的观察者模式,一旦消息上报,就直接调用注册者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值