Android4.4蓝牙耳机HFP流程分析-2

    RIL 即 Ridio Interface Layer缩写,无线通信接口层,Android 中的实现分为RILJ和RILC两部分。RILJ属于Framework层中的Java部分(后文使用RILJ指代RIL.java ),RILC属于HAL层中的C/C++部分(也就是rild)。RIL负责将AP层用户的通话控制信息传递给BP层Modem端,同时Modem端也会将相关处理结果返回给AP层。另外Modem状态有改变时也会主动上报给RIL层,再逐步向上传递并最终通过界面显示出来。

    RILJ的主要作用是将通话控制信息使用socket传递给RILC,RILC再使用AT指令传递给Modem端;RILC通过socket返回的Modem处理结果给RILJ并通知上层应用;可以说RILJ在AndroidTelephony结构中有着承上启下的作用。

MO/MT在RILJ中执行流程:

1. MO在RILJ中流程:

   当用户执行MO(去电)时,通过层层判断之后,系统会将相关信息传递到RILJ中,封装好后使用AT指令的方式发送到Modem端,最终由Modem端发起通话请求。在通话接通后Modem端会返回相关AT指令信息给RIL层,RIL层再向上反馈。

整个MO(去电)流程可以简单的归结为两个步骤:

(1). ( Request ) ,即向RILC发起Request,再由RILC向Modem发送相关AT指令,等待Modem处理并反馈结果,如DIAL操作;

(2). (Response),即在对方接通之后,Modem会将状态信息反馈到RILJ中;

2. MT在RILJ中流程:

   当Modem端收到来电信息时,会将相关来电信息通过AT指令发送给RILC,再通过RILC使用socket发送给RILJ,逐层向上传递,最终显示来电响铃界面。

MT(来电)与MO(去电)的第二步相同,通过(Response ),即Modem端主动上报状态改变信息;

蓝牙耳机通话相关的处理最终都会通过RILJ发送AT指令的方式到Modem端,最终由Modem端处理,然后Modem端会返回相关AT指令信息给RIL层,RIL层再向上反馈,当手机的CALL STATE 发生改变时,会通过PhoneStateChanged和HFP BluetoothInterface同步CALL STATE,然后发送相应的AT命令给蓝牙耳机。

注意:RIL相关的log在android文件夹下的radio.log文件里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值