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首先向上层发送响应,而不是首先由应用层请求的响应,类似于首先接听电话、首先获取短信。
相关推荐
阿巴斯甜1 天前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker1 天前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq95271 天前
Andorid Google 登录接入文档
android
黄林晴1 天前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
冬奇Lab2 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿2 天前
Android MediaPlayer 笔记
android
Jony_2 天前
Android 启动优化方案
android
阿巴斯甜2 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇2 天前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_2 天前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android