android dialer 分析,Android Call分析(一) ---- Call对象详解

Call(通话)相关的内容也是属于Telephony模块,Call整体上可以分成两类:

1. CS call,其中CS全称是Circuit Switch,我们平常打电话走的就是CS的流程。

2. IMS PS call,其中PS全称是Packet Switch,走IMS流程的Call有4类,分别是VoLTE(voice over LTE),ViLTE(video over LTE),VoWiFi(voice over wifi),ViWiFi(video over wifi)。

在分析具体的MT(Mobile Termination Call 被叫)/MO(Mobile Origination Call 主叫)流程之前,需要了解更多Call相关的基础知识,日后才可以更好地理解各种通话的流程。

而本文要讲解的就是Call.java对象。在Android源码中一共有5个“Call.java”文件,所以理清它们之间的联系以及学会如何分辨不同的Call对象,这也是分析通话流程的前提之一。

我们需要重点关注的有4个:

1. /packages/apps/Dialer/InCallUI/src/com/android/incallui/Call.java

2. /packages/services/Telecomm/src/com/android/server/telecom/Call.java

3. /frameworks/base/telecomm/java/android/telecom/Call.java

4. /frameworks/opt/telephony/src/java/com/android/internal/telephony/Call.java

Telephony Phone架构可以细分成Dialer(InCallUI),Telecomm Framework,Telecomm Service,Telephony Service,Telephony Framework这5个模块,除了Telephony Service,其他4个模块都有一个自己的Call.java,可想而知,整个通话的过程都会伴随着对Call对象的处理。

一、Dialer(InCallUI)中的Call

在Android N中,InCallUI已经被放置到Dialer目录之下,也许是为了更好地提醒开发者,要编译InCallUI的话,直接编译Dialer就行了。

对于InCallUI Call,

/packages/apps/Dialer/InCallUI/src/com/android/incallui/Call.java

从它的构造方法来看,InCallUI Call是直接依赖Telecom Call(Telecom Framework中的Call)的

public Call(android.te

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值