如何以PDU格式 备份和恢复彩信(MMS)
来源:互联网 发布:阿里云主机免费 编辑:程序博客网 时间:2024/05/17 09:11
最近在研究如何备份和恢复Message,发现网上实现的大多是对短信的备份与恢复,大多数方法都是采用XML的方式,这里我就不多加描述了。
我们都知道 ,手机中的MMS 是以PDU 的格式进行收发的,Android 系统中framework层有对MMS 封装为PDU格式的API ,让我们设想,如果以PDU格式
的文件对MMS进行备份和恢复,我们就少去了很多麻烦,下面我们来看一下核心的函数。
Google framework层中提供了专门的API ,在如下路径中:android\frameworks\base\core\java\com\google\android\mms\
在这个路径下包含很多文件,其中我们使用到的主要是3个类:
PduPersister
定义了对Android 系统识别的GenericPdu (android 自定义的数据类型)格式的对象的各种操作,我们可以同过函数 PduPersister.getPduPersister(context).load(uri)返回一个
GenericPdu 的对象。
PduComposer
可以实现将GenericPdu 对象封装为标准的PDU格式数据流,可以使用
GenericPdu msg = PduPersister.getPduPersister(context).load(uri);
byte[] message=new PduComposer(context, msg).make();
这样我们就实现了MMS 备份为PDU格式
PduParser
可以实现对备份PDU格式数据流的解析
Uri CONTENT_URI_RESTORE = Uri.parse("content://mms/sent");
GenericPdu msg= new PduParser(message).parse();
Uri uri= PduPersister.getPduPersister(context).persist(msg, CONTENT_URI_RESTORE);
其中 CONTENT_URI_RESTORE 为MMS要存在的位置,message 为通过PduComposer备份数据流,persist 方法根据URI 实现了将MMS插入到mmssms.db中
mmssms.db 中存储了手机中所有的彩信。
通过如上可知,我们通过这几个函数就可以实现对MMS的备份与恢复,当然具体实现起来还需要更多细节上的判断,例如 PUD 格式中对MMS的插入时间和彩信是在收件箱和发件箱
中都没有记录,这样我们就需要对这些字段进行单独记录,恢复的时候再重新插入到mmssms.db中,还有恢复的时候如何插入,这些都需要进一步的去判断,这样就需要我们不断
的去完善。
所以以上是对MMS 备份和恢复为PDU格式的核心方法,希望能对大家有帮助。
- 如何以PDU格式 备份和恢复彩信(MMS)
- 彩信MMS PDU 的解码
- 查询备份Android PDU彩信
- 如何制作MMS彩信文件?
- 如何制作MMS彩信文件?
- 彩信MMS
- 彩信MMS构成元素的类型以及编码格式
- 经验分享:windows mobile如何后台发送彩信MMS
- 还原Android PDU彩信
- Android 发送(彩信)MMS
- SMIL MMS彩信实例
- 如何备份和恢复outlook信箱
- 如何备份和恢复outlook通讯录
- Linux下如何备份和恢复分区表
- Ubuntu如何备份和恢复系统
- Ubuntu如何备份和恢复系统
- win7下如何备份和恢复ip
- Ubuntu如何备份和恢复系统
- QT隐藏mouse
- hdu 1232——畅通工程 (无优化)
- 实施质量保证与实施质量控制的区别与联系
- ubuntu上安装PAC Manager
- Web测试方法
- 如何以PDU格式 备份和恢复彩信(MMS)
- 图片上传前预览
- ORA-28000: the account is locked-的解决办法
- 质量保证与质量控制的区别
- GTK+2.0 中的容器控件与布局技巧
- 软件质量控制、质量保证和质量管理区别
- LCD裸机--驱动程序设计
- php调试环境搭建
- storm常见问题解答