我想知道,如何在Android上发送RIL请求,这些请求列在ril.h中,例如,跟随一些宏请求:
RIL_REQUEST_GET_SIM_STATUS
RIL_REQUEST_ENTER_SIM_PIN
RIL_REQUEST_ENTER_SIM_PUK
RIL_REQUEST_DIAL
...
我想从C或C ++发送这些请求。
答案 0 :(得分: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公开的Telephony API。