短信备份需要操作短信的数据库,使用ContentResolver去查询,我们看下源码中URI的路径:

打开类:

数据库对应的:

在telephony这个包下,mmssms.db的sms表,我们注意四列:address,date,type,body:

package com.ustc.mobilemanager.utils;import java.io.File;
import java.io.FileOutputStream;import org.xmlpull.v1.XmlSerializer;import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Environment;
import android.util.Xml;/*** * 短信的工具类* @author **/
public class SmsUtils {/*** 备份用户的短信* * @param context* @throws Exception*/public static void backupSms(Context context) throws Exception{ContentResolver resolver = context.getContentResolver();File file = new File(context.getFilesDir(),"smsbackup.xml");FileOutputStream fos = new FileOutputStream(file);//把用户的信息一条一条的读出来,按照一定的格式写到文件里
//      <smss>
//          <sms>
//              <body>你好啊</body>
//              <date>2014年12月18日</date>
//              <type>1</type>(发送还是接受)
//              <address>号码</address>
//          </sms>
//      </smss>//获取xml文件的序列化器XmlSerializer serializer = Xml.newSerializer();//初始化序列化器serializer.setOutput(fos, "utf-8");serializer.startDocument("utf-8", true);//头serializer.startTag(null, "smss");//根Uri uri = Uri.parse("content://sms/");Cursor cursor = resolver.query(uri, new String[]{"body","address","type","date"}, null, null, null);while (cursor.moveToNext()) {String body = cursor.getString(0);String address = cursor.getString(1);String type = cursor.getString(2);String date = cursor.getString(3);serializer.startTag(null, "sms");serializer.startTag(null, "date");serializer.text(date);serializer.endTag(null, "date");serializer.startTag(null, "type");serializer.text(type);serializer.endTag(null, "type");serializer.startTag(null, "address");serializer.text(address);serializer.endTag(null, "address");serializer.startTag(null, "body");serializer.text(body);serializer.endTag(null, "body");serializer.endTag(null, "sms");}cursor.close();serializer.endTag(null, "smss");serializer.endDocument();fos.close();}}

54高级工具功能之短信备份相关推荐

  1. Android项目:手机安全卫士(14)—— 短信备份

    Android项目:手机安全卫士(14)-- 短信备份 1 概述 哈哈,今天又是全新的一天,最近为工作上的事有点闹心,不过学习的心不变,还是需要坚持不懈的努力.今天的任务是实现短信备份功能,这个比较简 ...

  2. Android短信备份案例

    [1] 通过使用getContentResolver内容解析者实现短信的读取 , 然后将其备份到xml 文件中, [2]通过getContentResolver还可以实现短信的插入 , 联系人的读取等 ...

  3. android iphone6 同步短信,如何将Android手机短信备份到iPhone6

    最新文章: Virson的博客 文章来自: Lattice 很之前都问过这个问题,我应该如何将Android短信备份到Apple iPhone6?实际上,我之前曾使用过各种软件进行测试,发现如果没有越 ...

  4. 未越狱iphone与 Android短信备份迁移攻略

    本攻略的原理简单,对小白们操作麻烦,对自己会越狱的同学,又是鸡肋.为了昨天熬夜到2点的辛苦,还是抽出时间写写.        转载自己搬,无需通知本人.        现在许多软件都能实现通讯录和短信 ...

  5. android手机短信备份软件,手机短信备份软件-SMS Backup Restore Pro(短信备份) 安卓版v7.13-PC6安卓网...

    短信备份还原 SMS Backup Restore:短信备份还是很有必要的,遇到一些重要信息的保存,定时备份比较的方便. 官方介绍 短信备份还原 SMS Backup Restore是Android平 ...

  6. 爱思助手短信备份到安卓_爱思备份短信 爱思助手备份短信

    爱思助手有全部备份跟分类备份~ 可以备份的有 1.iTunesStore和AppStore中的内容(包括所有已安装的APP),或是直接下载到iBooks的PDF(您可以按照"传输iTunes ...

  7. android短信备份到苹果手机,iphone短信导出到安卓手机上(一分钟即可备份完成的技巧)...

    但是小编想提醒大家的是,对于一些比较重要的短信等数据,我们最好经常备份,那么怎么备份苹果手机短信内容呢?下面我们就一起来分享一个简单的iPhone短信导出教程,有需要的小伙伴都来学习学习吧. 想要备份 ...

  8. ContentResolver系统短信备份

    1.布局界面(layout.xml) 添加一个按钮组件,单击按钮以后会读取系统短信并在SD卡下保存一个文件 <?xml version="1.0" encoding=&quo ...

  9. linux 短信功能,Android调用系统短信功能发送短信

    Android调用系统短信功能发送短信有两种方法: 第一种,设定发送的号码,和内容,界面没有联系人,群组组等按钮,如下图所示: 代码如下: Uri smsToUri = Uri.parse(" ...

最新文章

  1. linux shell if [[ ]]和[ ]区别 ||
  2. 【产品】阿里产品经理内训:能力模型解读
  3. 【HDU - 6081】度度熊的王国战略(SW算法,全局最小割)
  4. 学计算机耗脑子,为什么补脑——脑是耗能大户
  5. [Cacti] cacti监控mongodb性能实战
  6. element动态form实现
  7. C#图解教程 第十八章 枚举器和迭代器
  8. Uber “杀人”事件
  9. UVM组件(以APB协议为例)——UVM
  10. 软件开发常见的软件系统总结
  11. 歌曲从DTS转换为MP3的方法
  12. 74 系列COMS系列逻辑器件芯片功能大全
  13. node scripts/install.js 安装失败解决办法
  14. stm32mp157开发板MIC 接口测试方法
  15. [转]申瓯 JSY2000-06 程控电话交换机呼叫转移设置
  16. 烤仔观察 | 从 KuCoin 被盗聊起,盘一盘那些年我们丢过的币
  17. 如何让自己像打王者荣耀一样发了疯、拼了命、石乐志的学习?(强烈推荐)
  18. 超级可爱的萌妹焊接艺术壁画,它是画上去的!
  19. Vue3中Vuex的使用
  20. 12月17日云栖精选夜读 | 用PrettyPrinter,让Python输出更漂亮,你值得拥有

热门文章

  1. mysql查看表结构的几种方式
  2. Windows系统日志收集
  3. iframe跨域请求
  4. 学习笔记:caffe2 教程记录三
  5. 队列的基本操作(全)
  6. Unity使用bounds绘制不规则图形边框
  7. TI CC2530 学习笔记-0-IAR 8.10下载与安装
  8. 【计算机网络 (谢希仁) 习题题解】第4章 网络层 (2)——划分子网;CIDR
  9. GBRT(梯度提升回归树)python实现
  10. uview的http请求封装(get请求有坑)