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首先向上层发送响应,而不是首先由应用层请求的响应,类似于首先接听电话、首先获取短信。
相关推荐
NiceCloud喜云9 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
日光明媚13 小时前
一步生成视频!One-Forcing:DMD + 零成本 GAN,训练 200 步超越多步 SOTA
android·开发语言·kotlin
帅次14 小时前
Android 17 开发者实战:核心更新与应用场景落地指南
android·java·ios·android studio·iphone·android jetpack·webview
大鹏说大话14 小时前
SQL 排序与分组实战:解决“分组后取最新数据“
android·java·数据库
搜狐技术产品小编202317 小时前
破局与重构:纯端侧 Android 自动化引擎的尝试与未来推演
android·运维·重构·自动化
码云骑士18 小时前
Android SystemServer启动过程
android·systemserver
weiggle19 小时前
第三篇:可组合函数(Composable)——Compose 的基石
android·前端
独隅19 小时前
Android Studio 接入多种不同 AI 大模型进行开发的全面详细指南(Android Studio+AI)
android·人工智能·android studio
夜微凉419 小时前
三、MySQL
android·数据库·mysql
我命由我1234520 小时前
Android 开发问题:项目同时引入了两个包含相同类文件的库(AndroidX 库、旧版本支持库),导致了重复类错误
android·java·java-ee·android studio·android-studio·androidx·android runtime