我想知道,如何在Android上发送RIL请求,这些请求在ril.h中列出,例如,遵循一些请求宏:
RIL_REQUEST_GET_SIM_STATUS
RIL_REQUEST_ENTER_SIM_PIN
RIL_REQUEST_ENTER_SIM_PUK
RIL_REQUEST_DIAL
...
我想从 C 或 C++ 发送这些请求。
最佳答案
抱歉回复晚了。我看到了您的问题并认为我可能会回答以便有人会发现它有用。
如您所说,ril.h 中列出了很多请求。这些请求用于 RILJ(Android 电话 Java 部分)和 RILD(芯片组 OEM 提供的本地 RIL 库,如 Qualcomm、Broadcom、ST Ericcson、Intel Mobile Comm)之间的通信。一旦 RILD 获得这些请求,这些请求将通过 AT 命令、IPC 或 QMI 机制进一步转发到调制解调器。
如果您正在构建第三方应用程序,则无法直接调用 ril.h 中的请求。在您的应用程序中使用的任何 API,例如,DIAL 请求转换为 RIL_REQUEST_DIAL 并发送到 native RIL 库。请注意,您并不是直接调用这些请求;您正在使用公开的电话 API 来使用 ril.h 请求。
但是,如果您将应用构建为系统构建的一部分,则可以通过使用与电话进程相同的 sharedID 并在 mk 文件中导入 telephony.jar 使其成为系统应用。通过这种方式,您可以尝试直接从电话对象调用请求,而不是使用 Google 公开的 Telephony API。
关于android - 为 Android 发送 RIL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28435796/