1

我想知道,如何在 Android 上发送 RIL 请求,这些请求在 ril.h 中列出,例如,遵循一些请求宏:

RIL_REQUEST_GET_SIM_STATUS
RIL_REQUEST_ENTER_SIM_PIN
RIL_REQUEST_ENTER_SIM_PUK
RIL_REQUEST_DIAL
...

我想从 C 或 C++ 发送这些请求。

4

1 回答 1

2

这么晚才回复很抱歉。我看到了您的问题,并认为我可能会回答,以便有人会发现它有用。

正如您所说,ril.h 中列出了很多请求。这些请求用于在 RILJ(Android Telephony Java 部分)和 RILD(由 Qualcomm、Broadcom、ST Ericcson、Intel Mobile Comm 等芯片组 OEM 提供的本机 RIL 库)之间进行通信。一旦 RILD 获得这些请求,这些请求就会通过 AT 命令、IPC 或 QMI 机制进一步转发到调制解调器。

如果您正在构建第三方应用程序,则无法直接调用 ril.h 中的请求。您的应用程序中使用的任何 API,例如,DIAL 请求转换为 RIL_REQUEST_DIAL 并发送到本机 RIL 库。请注意,您不是直接调用这些请求;您正在使用公开的电话 API 以使用 ril.h 请求。

但是,如果您正在构建您的应用程序作为系统构建的一部分,您可以通过使用与电话进程相同的 sharedID 并在您的 mk 文件中导入 telephony.jar 来使其成为系统应用程序。通过这种方式,您可以尝试直接从电话对象调用请求,而不是使用 Google 公开的电话 API。

于 2015-03-31T14:11:38.120 回答