MTK平台短信息流程详解:发收信息与核心变量

需积分: 6 3 下载量 34 浏览量 更新于2024-10-01 收藏 299KB DOC 举报
"这篇文档主要介绍了mtk平台上短信息流程的工作原理,包括发送和接收信息的详细步骤,并提到了一些关键的全局变量和资源。文档中的一些解释是个人理解,可能需要结合官方MTK文档《MMI_DD_Messages》进行验证。" 在mtk平台上,短信息流程涉及到多个组件和数据结构。首先,我们关注的是短信箱容量的定义。在`customer_ps_inc.h`文件中,全局变量`CM_SMS_MAX_MSG_NUM`被定义为400,这意味着手机和SIM卡总共可以存储400条短信。而在`nvram_common_defs.h`文件中,`NVRAM_EF_SMSAL_SMS_TOTAL`被定义为200,这是手机内部存储的短信最大数量。 接下来,涉及到的是短信的收发管理。有两个重要的索引表:`mmi_frm_sms_inbox_list`和`mmi_frm_sms_outbox_list`,它们分别存储收件箱和发件箱的索引。这两个索引表位于`mmi_msg_context.c`文件中,用于追踪每条短信在相应信箱中的位置。此外,还有一个`mmi_frm_sms_msg_box`结构数组,它包含了所有短信的副本,这些副本用于用户界面的显示和其他处理。需要注意的是,直接修改这个结构数组的内容不会影响实际存储的短信,任何对短信的增删改操作都需要通过向更低层次(L4层)发送消息来实现。 在`SMSApi.h`和`SMSStruct.h`文件中,定义了两种类型的枚举:`mmi_frm_sms_app_msgbox_enum`和`mmi_frm_sms_msgbox_enum`。这两个枚举值用于区分收件箱(MMI_FRM_SMS_APP_INBOX, MMI_FRM_SMS_INBOX)和发件箱(MMI_FRM_SMS_APP_OUTBOX, MMI_FRM_SMS_OUTBOX)。这些定义在处理不同类型的短信信箱时起到关键作用。 短信的发送流程通常涉及以下步骤:用户在UI上输入短信内容,UI层将信息传递到应用程序层,然后应用程序层会封装成L4消息,通过底层通信协议发送到短信服务模块。短信接收则是服务模块接收到网络信号后,将新短信的数据传递到应用程序层,再由应用程序更新收件箱的索引和短信副本。 mtk平台的短信息流程是一个涉及多层交互和复杂数据管理的过程,涉及到的全局变量、索引表和枚举定义都是确保这一流程顺利进行的关键元素。开发者在进行短信功能开发时,需要理解和掌握这些核心概念,以便正确地处理短信的存储、检索和发送。