MTK 解析短信的内容

因为一个项目要根据短信的内容来控制手机进行不同的工作,所以就要解析短信的内容,之后不把短信存到手机里面。

首先找到手机mmi收到短信的入口   

SetProtocolEventHandler(mmi_frm_sms_new_sms_ind, PRT_MSG_ID_MMI_SMS_DELIVER_MSG_IND);

在mmi_frm_sms_new_sms_ind 里面

只需要关注     mmi_frm_sms_new_sms();
之后是          mmi_frm_sms_indicate_sms(index);

在mmi_frm_sms_indicate_sms(index);里面的

    memset(content, 0x00, content_len);
    withobject = mmi_frm_sms_get_awaited_sms((U8) index, data, content);
    data->msg_data[0] = (U8) index;
下面加入下面的代码

#if 

    if(!mmi_msgfirewall_get_patternIn_status()) //号码在黑名单里面
     {
     strcpy((S8*)comparenum, (S8*)(data->addr_number.number));
     Get_Phone_Number(comparenum);
     wrong_code = Unpack_sms_data((S8*)content , (S8*)Phone_Number); // 这个就是解析函数

//content 里面就是短信息的内容 Phone_Number是Get_Phone_Number里面得到的发送方的电话号码
     }
#endif

在mmi_msg_new_msg_ind 里面

                if(1) //(mmi_msgfirewall_get_patternIn_status()) //不把短信发到收件箱,直接删除
                {
kal_prompt_trace(MOD_MMI, "###mmi_msg_new_msg_ind: delete sms");               
//michael
                    mmi_delete_sms_for_firewall(NULL, MOD_MMI, MMI_FRM_SMS_APP_INBOX, index);
//                        mmi_frm_sms_delete_sms(NULL, MOD_MMI, MMI_FRM_SMS_APP_INBOX, index);
                   
                    mmi_msgfirewall_set_patternIn_status(0);
                    return;
                }
这样就可以不把短信存到收件箱里面了。

 

对于收到就打开的短信

    mmi_frm_sms_reg_interrupt_check(MOD_MMI, PRT_MSG_ID_MMI_SMS_STATUS_REPORT_IND, mmi_msg_handle_deli

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值