sim卡短信管理
1、前言
对于sim卡的短信管理,其功能包含了将存在手机上的短信保存到sim卡、将存储位置设置为sim卡时自动将短信保存到sim卡、将sim卡中的短信导入到电话中、显示sim卡的短信内容、删除sim卡中的短信等功能。这里重点讲解显示sim卡短信和将手机中的短信保存到sim卡的原理以及sim卡短信的一个数据结构。

图1 sim卡短信管理界面
2、SIM 短信解析
对于sim卡中存储的短信,有两种,一是接收的短信,二是发送的短信。在存储短信的时候我们将短信的内容以及短信头打包成pdu后存储到sim卡上,根据不同类型打包后pdu的各不相同。下面分别来介绍接收和发送的短信结构。
2.1 接收
接收的短信其打包成pdu调用MesageUtils的getDeliveryPdu方法。其结构如下所示:
MTI | 接收者号码长度 | 接收者号码 | 编码方式 | 时间 | 用户数据 |
接收者号码长度 接收者号码,这个比较简单,就不再说明
编码方式,一般分为三种7bit 、8bit、16bit,其中7bit和16bit使用较多。
时间,接收短信的时间
用户数据,短信内容
2.2 发送
对于发送的短信较接收的短信来说更简单,打包成pdu使用SmsMessager的getSubmitPdu方法来打包,其结构如下所示
MTI | Tp-message-Reference | 目的号码长度 | 目的号码 | Tp-protoclol-Identifer | 编码方式是 | 用户数据 |
但总体功能来说大致相似
所以大家可能在一些手机上会有存入发送的短信,然后其发送时间会随着本机时间进行变化,原因在于发送的时间没有存入到sim卡,而显示的时候解析到事件没有会使用本地时间来显示,但由于本地时间是变化的所以就出现了上面的问题。
3、 总结
这里可能让大家失望的是没有将界面是怎么回事,之所以这样做,由于界面上的显示比较简单,与phone中的短信显示没有什么区别,不清楚的兄弟可以查看前面的短信界面相关文章。