Android短信备份
来源:互联网 发布:ps4串流pc软件 编辑:程序博客网 时间:2024/05/17 02:53
MainActivity
package com.example.zong.testcopy;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.support.v4.content.ContentResolverCompat;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import java.net.URI;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View view) { Uri uri = Uri.parse("content://sms/"); ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(uri, new String[]{"address", "date", "type", "body"}, null, null, null); List<SmsInfo> smsInfos = new ArrayList<SmsInfo>(); while (cursor.moveToNext()) { String address = cursor.getString(0); long date = cursor.getLong(1); int type = cursor.getInt(2); String body = cursor.getString(3); SmsInfo smsInfo = new SmsInfo(date, type, body, address); smsInfos.add(smsInfo); } cursor.close(); SmsUtils.backUpSms(smsInfos, this); }}
SmsInfo
package com.example.zong.testcopy;/** * Created by Zong on 2017/6/22. */public class SmsInfo { private long date; private int type; private String body; private String address; private int id; public int getId(){ return id; } public void setId(int id) { this.id = id; } public SmsInfo(){ } public SmsInfo(long date,int type,String body,String address,int id){ this.date=date; this.type=type; this.body=body; this.address=address; this.id=id; } public SmsInfo(long date,int type,String body,String address){ this.date=date; this.type=type; this.body=body; this.address=address; } public long getDate() { return date; } public void setDate(long date) { this.date = date; } public int getType() { return type; } public void setType(int type) { this.type = type; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }}
SmsUtils
package com.example.zong.testcopy;import android.content.Context;import android.os.Environment;import android.util.Xml;import android.widget.Toast;import org.xmlpull.v1.XmlSerializer;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.List;/** * Created by Zong on 2017/6/22. */public class SmsUtils { public static void backupSms(List<SmsInfo> smsInfos, Context context) throws IOException { try { XmlSerializer serialier = Xml.newSerializer(); File file = new File(Environment.getExternalStoragePublicDirectory(), "sms.xml"); FileOutputStream os = new FileOutputStream(file); serialier.setOutput(os, "utf-8"); serialier.startDocument("utf-8", true); serialier.startTag(null, "smss"); for (SmsInfo info : smsInfos) { serialier.startTag(null, "smss"); serialier.attribute(null, "id", info.getId() + ""); serialier.startTag(null, "body"); serialier.text(info.getBody()); serialier.endTag(null, "body"); serialier.startTag(null, "address"); serialier.text(info.getAddress()); serialier.endTag(null, "address"); serialier.startTag(null, "type"); serialier.text(info.getType() + ""); serialier.endTag(null, "type"); serialier.startTag(null, "date"); serialier.text(info.getDate() + ""); serialier.endTag(null, "date"); serialier.endTag(null, "sms"); } serialier.endTag(null, "sms"); serialier.endDocument(); os.close(); Toast.makeText(context, "备份成功", 0).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(context, "备份失败", 0).show(); } }}
AndroidMainFest
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.zong.testcopy"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.WRITE_SMS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"</manifest>
阅读全文
0 0
- Android 短信备份
- Android 短信备份
- Android短信的备份
- Android短信备份
- Android短信备份案例
- Android 备份短信
- Android 短信备份完整版
- Android之短信备份
- Android 备份短信
- Android短信备份
- Android中 备份短信 还原短信
- android短信备份与还原
- Android开发_备份短信
- Android短信备份时报错
- android使用xml备份短信
- Android实例demo13之短信备份、短信自定义
- android ContentObserver监听系统短信和备份短信到本地
- Android 实现短信的备份恢复
- 翻译 – 高性能网站需避免的7个错误
- 百亿级日志处理稳定性保证的一些技巧
- 安卓第一行代码总结(一)
- 异构信息网络+推荐===总结
- 5.Worker源码分析
- Android短信备份
- java.lang.NoClassDefFoundError
- ROS教程(三):创建ROS程序包
- C,C++,VC++,MFC之间有什么区别和联系
- 安卓开发入门之自定义柱状图
- 6.job触发流程原理剖析与源码分析
- Win10下安装Cisco VPN Client终极解决方法
- 7.DAGScheduler的stage算法划分和TaskScheduler的task算法划分
- 英语NLP词汇类别列表