Android Phone模块

本文详细介绍了Android系统的电话管理,包括电话的拨入、拨出、接听、短信、电话簿等功能实现。Android电话管理分为四层:modem驱动层、RILD层、Telephony框架实现层、PHONE应用层,各层通过不同方式交互。PHONE应用层处理通话和非通话事件,如来电、接听、短信等,而Telephony框架提供核心服务,Phone对象作为核心,管理电话、短信、电话簿等。此外,RILD层通过AT命令与modem驱动层交互,实现电话功能。
摘要由CSDN通过智能技术生成
  •  

 

电话管理是Android 系统支持的重要的业务之一,提供拨打电话、接听电话、收发短信、电话薄、网络事件监听、读取用户信息等功能。

 从下到上可以分为四层:modem驱动层、RILD层、Telephony框架实现层、 PHONE应用层,下层为上层提供服务,每层之间采用不同的通讯方式交互。RILD层实现为单独的一个开机启动的进程(rild命令),通过AT命令与modem驱动层交互,Telephony JAVA框架实现层包括一个RIL抽象层,RIL抽象层中通过一个本地socketRILD层交互,Phone应用层通过Binder机制与Telephony框架交互。

 

  1. PHONE应用层

Phone 应用主要处理两种事件 , 即通话事件与非通话事件 . 其基础是框架层的 telephony. 通话事件包括来电,接听,保持,挂断,两种电话切换等. 对通话事件的处理包括界面处理与非界面处理, 前者由IncallScreen 完成, 后者由CallNotifier 完成. 通话事件的发送是由 callManger 将事件转化为消息发送给应用层. 非通话事件包括耳机插拨, 飞行模式变更. 非通话事件由 PhoneApp处理, 通过广播形式让PhoneApp接收到.

Telephony 暴露给应用层的并不多, 主要是 CallManager ril 事件转化为消息, 并把消息发送给由callManager 所注册的应用层, PhoneFactory 创建具体的phone 类对象,以及提供电话相关信息(如信号强度, 获取电话类型, 获取网络类型)TelePhonyManger. 另一类是一些接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值