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首先向上层发送响应,而不是首先由应用层请求的响应,类似于首先接听电话、首先获取短信。
相关推荐
QING6181 小时前
Kotlin Delegates.notNull用法及代码示例
android·kotlin·源码阅读
QING6181 小时前
Kotlin filterNot用法及代码示例
android·kotlin·源码阅读
张风捷特烈17 小时前
Flutter 伪3D绘制#03 | 轴测投影原理分析
android·flutter·canvas
omegayy20 小时前
Unity 2022.3.x部分Android设备播放视频黑屏问题
android·unity·视频播放·黑屏
mingqian_chu20 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
自动花钱机20 小时前
Kotlin问题汇总
android·开发语言·kotlin
行墨1 天前
Kotlin 主构造函数
android
前行的小黑炭1 天前
Android从传统的XML转到Compose的变化:mutableStateOf、MutableStateFlow;有的使用by有的使用by remember
android·kotlin
_一条咸鱼_1 天前
Android Compose 框架尺寸与密度深入剖析(五十五)
android
在狂风暴雨中奔跑1 天前
使用AI开发Android界面
android·人工智能