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首先向上层发送响应,而不是首先由应用层请求的响应,类似于首先接听电话、首先获取短信。
相关推荐
wk灬丨41 分钟前
Android Kotlin Flow 冷流 热流
android·kotlin·flow
千雅爸爸41 分钟前
Android MVVM demo(使用DataBinding,LiveData,Fresco,RecyclerView,Room,ViewModel 完成)
android
晨曦_子画1 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
孤客网络科技工作室2 小时前
AJAX 全面教程:从基础到高级
android·ajax·okhttp
Mr Lee_3 小时前
android 配置鼠标右键快捷对apk进行反编译
android
顾北川_野3 小时前
Android CALL关于电话音频和紧急电话设置和获取
android·音视频
&岁月不待人&4 小时前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
Winston Wood5 小时前
Android Parcelable和Serializable的区别与联系
android·序列化
清风徐来辽6 小时前
Android 项目模型配置管理
android
帅得不敢出门6 小时前
Gradle命令编译Android Studio工程项目并签名
android·ide·android studio·gradlew