关于ril.lib库的问题

[复制链接]
查看11 | 回复5 | 2021-1-27 06:58:37 | 显示全部楼层 |阅读模式
我想使用ril.lib库达到短信拦截的效果,但是在Notify函数被回调的时候,短信已经进入到了系统收件箱中,并且弹出了短信到达提示。请问有没有办法能在短信到达后删掉该信息,不让短信进入系统收件箱?(不使用MAPIRULE)谢谢
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:58:37 | 显示全部楼层
不用MapiRule应该不行吧,除非修改RIL层
回复

使用道具 举报

千问 | 2021-1-27 06:58:37 | 显示全部楼层
修改RIL层,在Msg.cpp文件中找到这个函数:
staticHRESULTParseReadMsg(LPCSTRszRsp,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))
{
gotoError;
}
szRsp+=cbMessage;
prmi->dwParams|=RIL_PARAM_MI_MESSAGE;
其中prmi->rmMessage里保存的就是你短信的具体参数和内容,但是是PDU格式的,你还需要自己继续转换一下。
回复

使用道具 举报

千问 | 2021-1-27 06:58:37 | 显示全部楼层
ToRoy_ly:
我是搞WM应用开发的,软件运行平台是市场上主流的WM系统手机,对底层不太熟悉。Ril.dll在设备上已经存在了而且不能修改也不能删除(因为该文件始终被占用),我无法让手机生产商修改他们系统,只能调用ril.dll中提供的导出函数来处理接收到的短信。现在我没有用LoadLibrary去直接加载手机上的ril.dll,而是#pragmacomment了一个自己程序目录下的ril.lib文件,请问对这个ril.lib库中函数所做的修改是不是有效呢?
还有,我已经得到了CellCore的源程序,在里面的RIL目录里没有发现ril.lib中的导出函数,例如RIL_Initialize(),的实现和声明,请问Ril.lib这个库的源程序在哪里呢?
最后再问一下,ril层的代码可以单独编译吗?如果可以的话,可以发给我些参考资料吗?
谢谢
回复

使用道具 举报

千问 | 2021-1-27 06:58:37 | 显示全部楼层
ril的源代码放在:\PLATFORM\SMDK6410\SRC\DRIVERS\RIL目录下。
ril目录是可以单独编译的,只要进入编译环境(CE和MOBILE进入的方式不同,但编译的方式是一样的),然后进入RIL目录,直接BUILD-C就可以了。
要拦捷,我同意ultrapro的看法,用MapiRule应该可以。
回复

使用道具 举报

千问 | 2021-1-27 06:58:37 | 显示全部楼层
不知道楼主用mapi有啥问题?这么好用的MAPI居然不用要绕到下面去搞%
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行