我是 android 的初学者,我想阅读低级信息。如 RSCP、CQI、RAC 和 BCCH。
有人说使用 API 的内部可以帮助我做到这一点。
我试图了解 RIL,但对我来说很难,因为在某个页面或文件中没有完整的答案。
请给我一种方法来了解如何阅读低级信息。从调制解调器。
RIL 表示 Radio Interface Layer,它是 Android 框架和基带之间的桥梁。RSCP、CQI、RAC 和 BCCH 在基带协议下。因此,您无法在 RIL 中看到这些信息。这些信息需要基带提供商提供一些工具来捕获基带信息。不同的基带提供商有不同的解决方案。所以这取决于你使用的基带。
Radio接口层:它是Android手机框架服务和硬件之间的桥梁。它包括:
RIL 守护进程:- RIL 守护进程初始化供应商 RIL,处理来自 Android 电话服务的所有通信,并将呼叫作为请求的命令发送到供应商 RIL。RILD 将在 Android 系统启动期间进行初始化。每个供应商 RIL 都有 RIL_Init 函数。
供应商 RIL:- 它是特定于每个调制解调器的库。ril.h 的无线电特定供应商 RIL,它处理与无线电硬件的所有通信,并通过未经请求的命令向 RIL 守护程序 (rild) 发送调用。
Android Telephony 框架有一个接口文件 Ril.java,它跟踪已发送/接收到 RIL 的每个传入/传出请求。它基本上与 RIL 守护程序形成套接字连接。RIL 守护程序将框架链接到供应商 Ril。每个移动供应商都有自己的供应商 Ril 实现,并在 .so(共享库)中可用。供应商 ril 的设计和实现取决于所使用的调制解调器。
初始化:- 开机时,电话进程启动并初始化android电话框架,框架与ril damon建立套接字连接,ril damon从系统属性中找到vendor ril库的路径,并以.so库的形式加载vendor ril。供应商 ril 首先通过调用其 RIL_INIT 方法来初始化。RIL 的 ril 守护进程部分调用 RIL_REGISTER 以提供每个供应商 ril 函数对电话框架的引用。
更多信息:- https://wladimir-tm4pda.github.io/porting/telephony.html https://source.android.com/devices/tech/connect/ril