Android RIL框架结构及RILJ运行机制

本文深入剖析Android RIL框架结构,包括RILJ与RILC之间的Socket连接,以及Solicited和Unsolicited消息处理流程。重点探讨RILJ的运行机制,关键类如RIL、Tracker、RILRequest,以及发出RIL请求和接收Response消息的处理步骤。
摘要由CSDN通过智能技术生成

RIL在Android中的实现源代码可分为两大部分:

  • Frameworks框架层中的Java相关程序,简称RILJ。
  • HAL层中的C/C++程序,建成RILC。      

framework层三个关键的Tracker对象:CallTracker,ServiceStateTracker和DataConnectionTracker,这三个Tracker对象负责与RILJ进行交互,这些交互在RIL层中的处理是与Modem基于串口连接的AT命令的发送和执行。

一、Android RIL框架结构:      

        先介绍下Android RIL框架结构,如下图所示:

这里写图片描述

         该图完整体现出RIL层中的数据流向。RILJ与RILC之间通过rild端口的Socket连接【不懂】进行RIL消息的交互与处理;RILC与Modem之间通过qemud端口的Socket连接【不懂】完成AT命令的发送和执行,完成Modem的操作控制和查询请求以及Modem主动上报的消息处理。
       Socket网络连接的方式,按照其处理方式可分为两大类:【可在RILConstants.java中找到Solicited与UnSolicited定义详情】

  • Solicited类型消息处理流程

        一些主动请求的操作,如拨号,接听等。Solicited请求类的RIL消息,根据其动作行为,可再细分为Solicited Request和Solicited Response两个子类消息,正常情况下,这两个子类消息成对出现,请求和应答是一一对应的。

  • UnSolicited类型消息处理流程

        GSM/GPRS Modem硬件模块主动上报的例如来电,接通电话等消息归纳为UnSolicited消息。UnSolicited非请求类得RIL消息,此消息没有请求过程,仅有底层Modem主动上报,因此只有Response。

二、认识RILJ:

        RIL类为核心,继承了BaseCommands抽象类,并实现CommandsInterface接口。

        RILJ关键属性如下表:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值