Telephony概述
Android系统是主流的手机操作系统,手机在人们生活中的的存在最不可忽视的功能就是通信,Android系统中的的Telephony为此功能的核心模块,Telephony主要提供了语音,短信,数据链接,SIM卡管理,电话簿等功能。
Telephony架构由上到下可分为4层:
Telephony架构
1.Application(phone SMS Contacts)
2.Framework(RILJ Service 业务功能模块)
3.Ril(Ril抽象层 Ril实现层)
4.Modem(驱动层)
应用层(Application)
面向用户的应用层,依赖于应用框架层,通过访问Telephony应用框架层的业务模块来呈现给用户具体的功能,主要包括Phone、Contacts、SMS等应用,Phone比较特殊,系统启动时就被运行起来了,且Phone启动时会创建Telephony框架层,并与之运行在同一个进程中。
应用框架层(Framework)
Telephony应用框架层主要包括RILJ、Service、业务功能模块三个部分构成,提供了电话,短信,联系人等所需的所有功能。
RIL架构(RIL具体介绍可看大神详解)
1.RIL抽象层
实现RIL层框架,包括RILD守护进程和RIL库,定义了其与Framework层、Vendor RIL之间的接口
2.RIL实现层
基于不同Modem厂商的RIL功能实现(Vendor RIL),其主要功能是接受 RIL 层的主动 Request,转发给 Modem,同时接受 Modem 返回的请求 Response 和主动上报事件,上报给 RIL 层
驱动层(Modem)
RIL 驱动用于实现电话功能,主要硬件是通信模块(Modem),Modem 通过与通信网络进行沟通,传输语音及数据,完成呼叫、短信等相关电话功能。