修改RIL层,在Msg.cpp文件中找到这个函数:
- static HRESULT ParseReadMsg(LPCSTR szRsp, void*& pBlob, UINT& cbBlob)
其中在函数里面的这段代码后面插一刀,筛选一下短信内容决定是否要把该短信放弃掉:
- // Parse ""
- fIncoming = (RIL_MSGSTATUS_RECUNREAD == prmi->dwStatus ||
- RIL_MSGSTATUS_RECREAD == prmi->dwStatus);
- hr = ParseSMSMessage(szRsp, cbMessage, fIncoming, TRUE, prmi->rmMessage);
- if (FAILED(hr))
- {
- goto Error;
- }
- szRsp += cbMessage;
- prmi->dwParams |= RIL_PARAM_MI_MESSAGE;
其中prmi->rmMessage里保存的就是你短信的具体参数和内容,但是是PDU格式的,你还需要自己继续转换一下。