- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
杨光福-手机卫士day7
手机卫士
Day7
61_ 短信备份的原理_30
查看金山手机卫士的短信备份功能。
短信备份的原理,是用内容提供者读取短信,然后保存。
在高级工具AtoolsActivity布局文件里添加短信备份,并处理点击事件smsBackup
在com.itheima.mobilesafe.utils工具包目录创建工具类SmsTools用于写短信备份代码
A:短信备份方法backup(Context context,String path)
B:导出短信数据库保存的路径
data/data/vider.telephony/databases/mmssms.db
address 短信收件人发件人地址
date 短信接收的时间
type 1 发进来短信 2 发出去短信
read 1已读短信 0 未读短信
C:参照源代码Uri路径怎么写
//备份所有的短信,未读的、已读的等待
Uri uri = Uri.parse(content://sms/);
读取短信代码:
Cursor cursor = resolver.query(uri, new String[]{address,date,type,body}, null, null, null);
while(cursor.moveToNext()){
String address = cursor.getString(0);
String date = cursor.getString(1);
String type = cursor.getString(2);
String body = cursor.getString(3);
}
把短信生成XML文件,得到xml的序列化器,设置参数
XmlSerializer serializer = Xml.newSerializer();
File file = new File(path);
FileOutputStream os = new FileOutputStream(file);
//设置序列化器的参数
serializer.setOutput(os, utf-8);
设置文档的开头和结束
serializer.startDocument(utf-8, true);
serializer.endDocument();
设置文档根节点smss开始和结束
serializer.startTag(null, smss);
serializer.endTag(, smss);
设置sms里面具体内容,在while循环里面做
serializer.startTag(null, sms);
serializer.startTag(null, address);
String address = cursor.getString(0);
serializer.text(address);
serializer.endTag(null, address);
serializer.endTag(null, sms);
使用写好的短信备份工具
判断sdcard是否存在
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),smsbackup.xml);
try {
SmsTools.backup(this, file.toString());
Toast.makeText(this, 短信备份成功, 0).show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this, 短信备份失败, 0).show();
}
}else{
Toast.makeText(this, sdcard不可用, 0).show();
return;
}
5、添加读短信的权限
uses-permission ndroid:name=android.permission.READ_SMS /
知识拓展 生成excel表 poc
/zhy_cheng
文档评论(0)