Android Telephony概览

Android Telephony概览

Android Telephony组件和架构

在开始Android电话框架概览之前,我们需要了解什么是电话?以及这是什么框架?

Android Telephony: 我们知道我们的Android操作系统设备配置有多个网络功能,我们在日常生活中经常使用,如电话呼叫、短信、彩信、数据、SIM卡和其他网络功能。所有这些与网络相关的支持都属于电话。

Telephony框架: 一个软件模块或软件包,包含与电话相关的类和库,被称为电话框架。与电话相关的类可以在这里查看:

Telephony框架架构: 在这里,我们将探讨Android电话中涉及的各个层次和架构。

正如我们在上面的段落中讨论的,所有与网络相关的类和模块都包含在Android电话中,所以让我们来看看这个架构:

层 1:网络应用(Network Apps): Android架构的顶层,包括用户互动的所有应用程序,如设备上安装的应用程序。它包括预安装的系统应用程序、从Play商店下载的第三方应用程序和用户可以卸载的其他应用程序。例如,拨号器、短信、彩信、联系人、浏览器等应用程序。

层 2:框架层(Framework Layer): 包含Java类和包的Java框架层,用于修改、处理并向从层 1 到较低层的网络请求附加必要信息,以及将响应处理为用户可理解的形式,这些类可以在这里找到:

层 3:电话服务(ril daemon): 这是Java框架部分与供应商RIL之间的共同路径。在系统启动期间,Android将启动所有守护进程,ril守护进程在调用时主要用于初始化供应商RIL。

层 4:供应商RIL: 供应商RIL实际上是Modem的软件代码,Modem硬件供应商提供与该Modem相对应的软件,以便硬件和供应商之间的通信能够顺利进行,数据可以轻松地从硬件传输到供应商RIL到较高层。

层 5:MODEM: 它是实际的底层硬件,负责与网络通信并通过供应商RIL将响应发送到较高层。

RIL到MODEM的通信: RIL到Modem之间有两种通信方式,1. 被请求的命令 2. 未被请求的命令。

  • 被请求的命令:从上层到Modem触发的请求。这意味着上层首先发起的所有这些请求,例如发送短信、拨打电话。
  • 未被请求的命令:Modem首先向上层发送响应,而不是首先由应用层请求的响应,类似于首先接听电话、首先获取短信。
相关推荐
xiangpanf10 分钟前
Laravel 10.x重磅升级:五大核心特性解析
android
robotx3 小时前
安卓线程相关
android
消失的旧时光-19433 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon4 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon5 小时前
VSYNC 信号完整流程2
android
dalancon5 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户69371750013846 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android6 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才7 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶7 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle