首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

MTK短信开发详解(十一)

MTK短信开发详解(十一)

MTK短信开发详解(十一)
4.5、查看业务短信内容
1. 从mmi_frm_sms_bizbox_list[]读取短信的L4index:
[\plutommi\mmi\Messages\MessagesSrc\SmsPsHandler.c]
void mmi_msg_get_msg_bizbox(void)
mmi_msg_get_msg_req(MMI_FRM_SMS_BIZBOX, (U16) g_msg_cntx.currBoxIndex);

[\plutommi\mmi\Messages\MessagesSrc\SmsPsHandler.c]
void mmi_msg_get_msg_req(U16 type, U16 index)// 提交读取短信请求
        mmi_frm_sms_read_sms(mmi_msg_get_msg_rsp, MOD_MMI, type, index, MMI_TRUE);

[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSCore.c]
void mmi_frm_sms_read_sms(PsFuncPtrU16 callback, module_type mod_src, U16 type, U16 index,
MMI_BOOL change_status)
mmi_frm_sms_get_sms_index((mmi_frm_sms_msgbox_enum) type, index, data);

[\plutommi\mmi\miscframework\miscframeworksrc\SMSUtil.c]
void mmi_frm_sms_get_sms_index(mmi_frm_sms_msgbox_enum type, U16 index, U16 *l4_index)
    case MMI_FRM_SMS_BIZBOX:
        L4index = mmi_frm_sms_msg_box[mmi_frm_sms_bizbox_list[index]].startindex;
2. 发送读短信请求注册回调:
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSCore.c]
void mmi_frm_sms_read_sms(PsFuncPtrU16 callback, module_type mod_src, U16 type, U16 index,
MMI_BOOL change_status)
mmi_frm_sms_write_action(callback, mod_src, data, mmi_frm_sms_read_sms_req);
// callback =>  mmi_msg_get_msg_rsp
3. 在应答回调中显示短信内容:
[\plutommi\mmi\MiscFramework\MiscFrameworkSrc\SMSMsg.c]
void mmi_frm_sms_read_sms_rsp(void *inMsg) // 短信请求应答

[\plutommi\mmi\messages\messagessrc\SmsMoMtGuiInterface.c]
void mmi_msg_entry_bizbox_msg(void) // 显示短信内容
4.6、开机加载短信
[\plutommi\mmi\miscframework\miscframeworksrc\SMSMsg.c]
void mmi_frm_sms_startup_read_ind(void *inMsg)
{
[...]
    mmi_frm_sms_convert_startup_read_to_entry((MMI_FRM_SMS_STARTUP_READ_MSG_IND_STRUCT*)
msgInd, entry);// 1. 短信数据类型转换
    mmi_frm_sms_add_sms_to_msgbox(entry, msgInd->index, thisseg);// 2. 添加到短信箱和索引表
[...]
}

[\plutommi\mmi\miscframework\miscframeworksrc\SMSUtil.c]
void mmi_frm_sms_convert_startup_read_to_entry(
        MMI_FRM_SMS_STARTUP_READ_MSG_IND_STRUCT *data,
        mmi_frm_sms_msgbox_struct *entry)
{
[...]
    switch (data->status)
    {
  case SMSAL_REC_UNREAD:
   [...]
    type = MMI_FRM_SMS_BIZINBOX;// 如果是业务短信
   [...]
    type = MMI_FRM_SMS_INBOX;//  如果是普通短信
        case SMSAL_REC_READ:
   [...]// 处理过程与SMSAL_REC_UNREAD 相同
[...]
}

[\plutommi\mmi\miscframework\miscframeworksrc\SMSUtil.c]
U16 mmi_frm_sms_add_sms_to_msgbox(mmi_frm_sms_msgbox_struct *entry, U16 index, U8 thisseg)
{
    [..]
    /* add to msg entry */
    entryindex = mmi_frm_sms_add_sms_entry(entry, index, thisseg);// 添加到短信箱
    /* update msg list */
    if (mmi_frm_sms_list_done)
    {
        mmi_frm_sms_add_sms_to_list(entry, entryindex);// 添加到索引表
    }
    return entryindex;
}
完整版本请见 http://www.51qianru.cn/bbs/
                                                           曙海教育
                                                曙海嵌入式学院3G通信培训中心
                                            (MTK培训,Android培训,iPhone培训)
                                                电话:021-51875830
                                                网址:http://www.51qianru.cn
                                                    讲师:李现路
                                              版权所有-曙海教育 转发请注明出处
返回列表