概述
一、前言:
在现今的大环境下,很多用户很少主动的去拨打电话、发送短信等,一般都是被动的接个快递电话、收个验证码短信等。人们更多的是使用基于流量服务的应用,去满足自身对社交、新闻、视频和购物等的需求。通话短信等功能看似不重要了,但它是个非常重要的基础功能,不管是从工信部的CTA过审,还是运营商的入库等,均对通话等应用提出了非常多的要求。总而言之,这个功能可以不主动用,但是它必须有,且还必须符合相关监管部门的要求等,其重要程度可想而知。
撰写本文的目的:
1.对通话涉及的所有模块有个统筹的概念,认识到有哪些模块的存在。
2.对各个模块有个初步的了解。
3.各模块之间的大致关系等。
一句话总结:本文将简要的概括通话功能涉及的相关模块,以及各模块的主要功能,及其相互之间的关联关系等。
另短信的简介链接:短信相关模块综合简介。
(注:此文以Android老版本为例,后续会根据最新版本调整)
二、通话涉及到的几个模块:(可能路径记忆有误,后续拿到代码进行更正)
- packages/apps/Dialer
- packages/apps/InCallUI
- packages/services/Telephony
- packages/services/Telecomm
- framework/.../telephony
- framework/.../telecomm
- framework/.../ims
- vendor/ims
- vendor/...(相关定制代码)
三、各个模块的功能:
- Dialer:拨号应用,包含拨号盘、通话记录、暗码等等。注:拨打电话的入口不仅仅是Dialer,短信联系人均能拨出电话。
- InCallUI:来去电界面,包含视频通话、视频彩铃、多方通话、会议电话,号码标记等。
- Telephony:
- Telecomm:
- telephony:由它来对接IMS的公共接口。也就是不管是来电还是去电,均由此处理。注:如果是GSM的流程,就会直接下发相关指令,而不会走到IMS的流程里面了。
- telecomm:
- fwk/ims:IMS相关的公共接口。
- vendor/ims:芯片厂商对IMS的公共接口的具体实现,其直接对接RIL。(这是GSM与IMS的最大的差异的地方)
- vendor/...(相关定制代码):包含一些运营商定制等等。
注:Telephony和Telecomm后续梳理之后补充
四、各模块大致的层级关系
应用层 Dialer、InCallUI
服务层 Telephony、Telecomm
框架层 telephony、telecomm、fwk/ims
实现层 vendor/ims
其模块的调用层级关系,大致是顺着上列的顺序从上而下调用。但它并不是严格按照这个顺序来的,请注意。
五、来电流程简单介绍
六、通信相关专业词汇简介
MO/MT,CSFB等
最后
以上就是爱撒娇蜻蜓为你收集整理的Android 系统应用-通信应用-通话相关模块综合简介的全部内容,希望文章能够帮你解决Android 系统应用-通信应用-通话相关模块综合简介所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复