android - 为 Android 发送 RIL 请求

标签 android c++ c android-ndk ril

我想知道,如何在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/

相关文章:

java - 使用哪个运算符来迭代数组元素

android - Android 中的触摸屏功能问题

C++如何检查Shell输入的数量?

c++ - 传递给 std::unordered_set::erase() 的无效迭代器的结果

c - ESP8266异常(3)

c - 程序中的两个重定向

android - 如何从系统托盘读取推送通知数据。?

java - 在Android webview中加载特定的HTTPS Web应用程序

c++ - 共享库中的静态类成员

c++ - malloc 和 new 是否返回一个 int 对齐的地址?