2

我想知道是否有人有一些例子说明我如何使用 RIL 常量发送 RIL 请求,例如

RIL_REQUEST_GET_SIM_STATUS
RIL_REQUEST_DIAL
RIL_REQUEST_SEND_SMS

以及如何使用 Android java base API 从请求中获取结果。

4

1 回答 1

2

方法可以在RIL.java中找到

发送 RIL 请求的示例:

import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.PhoneBase;

PhoneBase phone = (PhoneBase)PhoneFactory.getDefaultPhone();//or PhoneFactory.getPhone(SIM_ID);
//RIL_REQUEST_GET_SIM_STATUS    
phone.mCi.getIccCardStatus(result);
//RIL_REQUEST_DIAL
phone.mCi.dial (address, clirMode, result);
//RIL_REQUEST_SEND_SMS
phone.mCi.sendSMS (smscPDU, pdu, result);

结果是在调用上述方法之前与Handler绑定的Message,一旦完成,就会将相应的结果Message发送给Handler,从result.obj中获取。解码结果的样本可以在以下文件中找到,

RIL_REQUEST_GET_SIM_STATUS:UiccController.java

RIL_REQUEST_DIAL:GsmCallTracker.java

RIL_REQUEST_SEND_SMS:GsmSMSDispatcher.java

于 2014-11-17T15:42:34.983 回答