短信备份的原理

短信备份的原理。是用内容提供者读取短信,然后保存。

public class SmsBackupUtils {

// 回调接口

public interface SmsBackupCallback {

/**

* 短信备份前调用

* @param total 短信的总条数

*/

public void beforeSmsbackup(int total);

/**

* 短信调用中调用

* @param progress 短信的进度

*/

public void progressSmsbackup(int progress);

}

/**

* 短信备份的方法,备份到xml文件里,由于xml文件跨平台性强 这是一个耗时操作,应该放在子线程中运行

*

* @param context 上下文

* @param path 备份到哪个路径

* @throws Exception

*/

public static void smsBackup(Context context, String path,SmsBackupCallback callBack) throws Exception {

// xml的序列化器

XmlSerializer serializer = Xml.newSerializer();

File file = new File(path);

FileOutputStream fos = new FileOutputStream(file);

// 设置參数

serializer.setOutput(fos, "utf-8");

// 開始

serializer.startDocument("utf-8", true);

serializer.startTag(null, "smss");

ContentResolver resolver = context.getContentResolver();

Uri uri = Uri.parse("content://sms");// 包括全部短信

Cursor cursor = resolver.query(uri, new String[] { "address", "date",

"type", "body" }, null, null, null);

/*dialog.setMax(cursor.getCount());

progressBar1.setMax(cursor.getCount());*/

callBack.beforeSmsbackup(cursor.getCount());

int progress = 0;

while (cursor.moveToNext()) {

serializer.startTag(null, "sms");

serializer.startTag(null, "address");

String address = cursor.getString(0);

serializer.text(address);

serializer.endTag(null, "address");

serializer.startTag(null, "date");

String date = cursor.getString(1);

serializer.text(date);

serializer.endTag(null, "date");

serializer.startTag(null, "type");

String type = cursor.getString(2);

serializer.text(type);

serializer.endTag(null, "type");

serializer.startTag(null, "body");

String body = cursor.getString(3);

serializer.text(body);

serializer.endTag(null, "body");

serializer.endTag(null, "sms");

progress++;

/*dialog.setProgress(progress);

progressBar1.setProgress(progress);*/

callBack.progressSmsbackup(progress);

SystemClock.sleep(1000);

}

cursor.close();

serializer.endTag(null, "smss");

serializer.endDocument();

}

}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

android 备份短信恢复,Android发展_备份短信相关推荐

  1. ios+android备份短信恢复软件下载,iPhone备份短信教程:iOS短信导出技巧大全

    iPhone备份短信怎么做?正所谓未雨绸缪,手机作为我们生活中最常用的手机数据,自然储存了很多个人隐私数据.未雨绸缪目的就在于避免损失或者将损失降低到最小,但是大多数情况下我们都是亡羊补牢.为了避免数 ...

  2. android 手机短信恢复,Android短信如何恢复

    Android短信如何恢复?虽然当下微信使用非常普及,但不少重要事项还是会使用短信进行沟通的,比如快递密码箱ID提醒.信用卡还款提醒.验证码等.其目的是确保一定收到,不会因断网.未登陆等消息消失.所以 ...

  3. iphone同步android短信恢复,android上的短信怎么恢复到iphone

    本帖最后由 远去de誓言 于 2014-10-28 10:57 编辑 因为没有越狱,不能按照常规备份恢复,所以今天按照网上各种教程试了半天但是没有一个教程能完全解决问题. 今天借着各位高手的教程,加上 ...

  4. 短信恢复 android,苹果手机短信恢复:安卓+苹果手机短信恢复教程,必须收藏!...

    原标题:苹果手机短信恢复:安卓+苹果手机短信恢复教程,必须收藏! 手机短信怎么恢复?日常生活中,大家或多或少会不小心把删除一些不必要的短信,比如注册某软件的验证码的短信,面试通知地址时间的短信.但是在 ...

  5. 移动短信回执怎么开通_移动短信回执业务内容及资费介绍

    短信回执业务是指移动客户向网内其他用户发送短信后,将会收到一条回执短信,内容包含接收方是否成功接收的状态报告信息,同时还可以收到我们提供的附加资讯信息的业务.附加资讯信息长度限为44个字符(含标点符号 ...

  6. 上海立信会计学院_上海立信会计学院分数线_上海立信_立信会计_立信会计学院...

    上海立信会计学院会计从业资格证书考试培训http://lixin.sh.cn/44.html 上海会计从业资格证书考试培训立信优势http://lixin.sh.cn/45.html 上海立信会计职称 ...

  7. 完全备份、数据库恢复模型对日志备份和差异备份的影响

    CREATE DATABASE db GO --1. 无完全备份时,无法进行差异备份 BACKUP DATABASE db TO DISK='c:\db.bak' WITH FORMAT,DIFFER ...

  8. java 短信 条数 计算_接收短信验证码条数限制(java发送短信验证码限制)

    今天是个周六,还在苦逼加班的我对那些休周末的同行表达羡慕嫉妒,对那么同样加班的同行共勉吧~~ 整理了下这周的工作进度.除了项目试上线以外也就是补充补充之前遗留下的小问题了.这篇文章就是说手机号每天接受 ...

  9. 天融信防火墙保存配置_天融信防火墙配置备份 飞塔防火墙配置手册

    天融信防火墙怎么导入配置文件? 你好!导入配置文件不仅是一个访问策略,也是一个用户对象.许多对象是根据不同的部门定义的.每个对象或多或少都包含一些身份验证客户端的帐户.一个对象中有数百个用户帐户.此部 ...

最新文章

  1. java 参数类型不确定_详细解析Java虚拟机的栈帧结构
  2. AI智能手机会是什么样?至少有这十个功能
  3. matlab的实用与仿真,MATLAB建模与仿真实用教程
  4. python3-正则表达式基本使用方法(附案例)_python正则表达式
  5. php鼠标悬停显示图片,鼠标滑过出现预览的大图提示效果
  6. 天猫双11星秀猫官方周边开售 从设计到生产用时1个月
  7. vsftp 客户端多个ip_VSFTP环境搭建
  8. iText导出pdf、word、图片
  9. kinit无密码登录配置
  10. 包你满意的Git命令大全,快来收藏!
  11. 【前端模板之路】二、人肉非智举,让代码帮我们写代码才是王道
  12. 无线定位服务器,[浅谈无线定位技术] 无线定位技术有哪些
  13. Ubuntu配置——SS浏览器和终端代理、主题美化
  14. 超级好用的流程图js框架
  15. 批处理创建桌面快捷方式
  16. 日历之 poj1008玛雅日历
  17. (原创)ics-openvpn编译详解
  18. uniapp开发的微信小程序如何上传至微信小程序平台-完整简单步骤
  19. 技术合同属于什么类别的合同
  20. mysql如何查看事务日记_详解 Mysql 事务和Mysql 日志

热门文章

  1. hostname解释
  2. sql查锁死进程id
  3. win11右下角评估副本水印去除
  4. gitflow的规范
  5. 基于JavaScript的拼图游戏制作PPT免费模板
  6. 新的PX8防水等级和IPX8防水等级的区别、IP68和PX8的区别,TUV莱茵防蓝光认证是什么
  7. 计算机四级数据库试题 百度云,英语四级历年真题
  8. argparse简介
  9. 抖音超火的小空调源码
  10. LORA无线远传水表VS普通机械水表