MTK短信模块解析:隐藏短信与发送机制
需积分: 15 116 浏览量
更新于2024-08-13
收藏 516KB PPT 举报
"根据短信的msg_id进行筛选-MTK 短信的发送机制"
本文将深入探讨MTK(MediaTek)平台上的短信发送机制,特别是如何根据msg_id筛选短信以及与之相关的模块和流程。首先,我们要理解的是,MTK SMS模块是手机硬件和软件之间通信的关键部分,它负责处理短信的接收、发送和存储。
1. **短信模块的目录结构**
在MTK平台上,短信模块通常位于`\plutommi\mmi`目录下,包括如`Messages`、`MiscFramework`、`UnifiedMessage`等子目录。具体的核心文件如`SMSMsg.c`、`SMSCore.c`、`SMSUtil.c`和`SMSBgHandle.c`等,它们包含了处理短信操作的函数和逻辑。
2. **短信模块的程序框架**
短信模块通过MMI(Man Machine Interface)与上层应用交互,通过L4(Layer 4)与底层硬件通信。例如,`mmi_frm_sms_read_sms_req()`用于请求读取短信,`mmi_frm_sms_write_action()`用于写入短信动作,而`mmi_frm_sms_unpack_sms()`则用于解析PDU编码的短信内容。
3. **短信在NV RAM中的储存方式**
短信存储在NVRAM(非易失性内存)中,如`\Code\MoDIS\WIN32FS\DRIVE_C\NVRAM\NVD_DATA\MP12_VERSION`下的特定区域。相关标识如`NVRAM_EF_SMSAL_SMS_LID`用于存储短信的逻辑ID,`NVRAM_EF_SMSAL_SMS_SIZE`表示每个短信条目的大小。
4. **PDU编码规则**
PDU(Protocol Data Unit)编码是GSM网络中短信传输的标准格式,短信内容被转换成二进制数据进行传输。在解码PDU时,`mmi_frm_sms_unpack_sms()`会处理这些数据,将其还原为人类可读的文本格式。
5. **筛选短信的逻辑**
示例代码展示了如何在收件箱中筛选特定msg_id的短信。`GetActiveScreenId()`检查当前屏幕是否为收件箱,`data_list->data_list_table[item_index].msg_type`确认短信类型为普通短信。`mmi_sms_get_hidden_msg_id()`获取隐藏短信的msg_id数组,之后遍历数组,与目标msg_id进行比较,如果找到匹配项,则返回TRUE。
6. **短信的其他流程**
文档中还提到了删除短信、接收短信以及隐藏短信的原理,但并未详细展开。删除短信涉及从NVRAM中移除相关数据,收短信流程包括接收数据包、解析PDU并存储到NVRAM,隐藏短信可能涉及到修改msg_id列表使得短信不可见。
7. **问题和解决**
对于常见的bug及其解决过程,虽然文档没有详述,但在实际开发中,可能涉及的问题包括PDU解析错误、NVRAM存储空间不足、短信同步失败等,解决方法通常涉及调试代码、优化存储算法或更新硬件驱动。
MTK短信发送机制是一个复杂的过程,涉及多层交互和编码规则,理解和掌握这一机制对于手机系统的开发和维护至关重要。
2022-09-21 上传
2010-10-27 上传
2023-05-29 上传
2023-05-27 上传
2023-07-14 上传
2023-06-09 上传
2023-05-23 上传
2023-07-14 上传
2023-07-20 上传
![](https://profile-avatar.csdnimg.cn/99956b865f9d46f7848a6dae4da7b1c3_weixin_42207707.jpg!1)
theAIS
- 粉丝: 50
- 资源: 2万+
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命