资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
手机卫士Day761_短信备份的原理30i查看金山手机卫士的短信备份功能。短信备份的原理,是用内容提供者读取短信,然后保存。2、在高级工具AtooIsActivity布局文件里添加短信备份,并处理点击事件smsBackuP3、在com.itheima.mobiIesafe.utils工具包目录创建工具类SmsTooIs用于写短信备份代码A:短信备份方法backup(Contextcontext,Stringpath)E:导出短信数据库保存的路径data/data/com.andfoid.provider.telephony/databases/mmssms.dbaddress短信收件人发件人地址date短信接收的时间type1发进来短信2发出去短信read1已读短信0未读短信C:参照源代码Uri路径怎么写/备份所有的短信,未读的、已读的等待Uriuri=Uri.parse(content:/sms/);读取短信代码:Cursorcursor=resolver.query(uri,newStringaddress,date,”type,body,null,null,null);?while(cursor.moveToNext()Stringaddress=cursor.getString(0);?Stringdate=cursor.getString(1);?Stringtype=cursor.getString(2);?Stringbody=cursor.getString(3);?把短信生成XML文件,得到xml的序列化器,设置参数XmlSerializerserializer=Xml.newSerializer();=new);?os=new(file);?/设置序列化器的参数serializer.setOutput(os,utf8)设置文档的开头和结束serializer.startDocument(utf-8,true);serializer.endDocument();设置文档根节点smss开始和结束serializer.startTag(null,smss”);serializer.endTag(,smss);设置sms里面具体内容,在while循环里面做serializer.startTag(null,sms);?);sH)?serializer.startTag(null,address?Stringaddress=cursor.getString(0)?serializer.text(address);serializer.endTag(null,addresserializer.endTag(nulI,sms);4、使用写好的短信备份工具判断sdcard是否存在?if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)?=new().getAbsolutePath(),smsbackup.xml);?try?SmsTools.backup(this,();?Toast.makeText(this,短信备份成功,0).show()?catch(Exceptione)?/TODOAuto-generatedcatchblock?e.printStackTrace();?Toast.makeText(this,短信备份失败,0).show()?else?Toast.makeText(this,sdcard不可用,0).show();?return;?5、添加读短信的权限知识拓展生成excel表poc62_接口和回调_261当前备份短信代码,是写在主线程,如果短信很多的话会出现ANR异常。2、把短信备份代码移植到子线程;newThread()publicvoidrun()
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号