VoiceCall流程解析

本文主要探讨Android系统中的VoiceCall,涉及MO(Mobile Origination Call)和MT(Mobile Termination Call)流程。从概述到详细框架,再到关键代码介绍,阐述了电话拨打和接听的过程,包括Phone对象、Call和Connection的概念,以及Telephony与Modem的通信。同时,介绍了Call的多种状态和消息注册机制。
摘要由CSDN通过智能技术生成

本文章代码基于Android 9.0

概述

VoiceCall就是我们通常所说的打电话是基于系统中Telephony框架的具体应用情景,Telephony中涉及的其他通讯功能有ServiceState(服务状态)、DataConnection(数据链接)、SMS(短信)、Contacts(联系人)…这篇文章重点讲解Call(通话)

  • MO(Mobile Origination Call)主叫,操作流程:拨号,启动UI界面,更新通话状态。
  • MT(Mobile Termination Call)被叫,操作流程:响铃,启动UI界面,更新通话状态。
框架

Android系统中的VoiceCall的组成结构主要由下面几部分构成:

  • Dialer(IncallUI) 为用户交互操作提供UI界面
  • TeleService 封装了控制,查询Telephony等功能
  • Telephony(Framework )提供通话各种功能调用和状态查询,负责上层和Modem的通信
  • RIL 负责拨号、Sip、package收发等基本操作
VoiceCall框架图

具体框架图请看下图:
VoiceCall框架图
具体各个模块的详细信息请看下表:

Module Path Function
Dialpad packages/apps/Dialer/ 拨号盘
CallLog packages/apps/Dialer/ 通话记录。其中显示的信息是从数据库中读出来的。在通话结束时,会将Call的信息存储到CallLog数据库中
InCallUI packages/apps/Dialer/ 通话中的画面显示,在Android原生设计中,该模块只处理界面相关的内容
TeleS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值