Android中 备份短信 还原短信
2015-05-20 19:04
399 查看
备份短信
读取手机里的短信,备份成xml文件保存到SD卡上。xml文件就只有一个button控件,就不再给出xml代码了。
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.xmlpull.v1.XmlSerializer; import android.app.Activity; import android.content.ContentResolver; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.util.Xml; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { private Button bt_readsms; /** * 短信备份的文件对象 */ private File smsBackUpFile; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt_readsms = (Button) findViewById(R.id.bt_readsms); bt_readsms.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { //创建一个存储备份短信的文件对象 smsBackUpFile = new File(Environment.getExternalStorageDirectory(),"sms.xml"); //创建一个xml文件的生成器。 XmlSerializer serializer = Xml.newSerializer(); //完成序列化器初始化操作。 FileOutputStream os = new FileOutputStream(smsBackUpFile); serializer.setOutput(os, "utf-8"); //内容提供者。 //获取到一个数据库的内容的解析者 ContentResolver resolver = getContentResolver(); //游标(结果集) Cursor cursor = resolver.query(Uri.parse("content://sms"), new String[]{"address","date","type","body"}, null, null, null); //生成xml文件的头 serializer.startDocument("utf-8", true); serializer.startTag(null, "smss"); while(cursor.moveToNext()){ serializer.startTag(null, "sms"); String address = cursor.getString(0); String date = cursor.getString(1); String type = cursor.getString(2); String body = cursor.getString(3); serializer.startTag(null, "address"); System.out.println("短信地址:"+address); serializer.text(address); serializer.endTag(null, "address"); serializer.startTag(null, "date"); System.out.println("短信时间:"+date); serializer.text(date); serializer.endTag(null, "date"); serializer.startTag(null, "body"); System.out.println("短信内容:"+body); serializer.text(body); serializer.endTag(null, "body"); serializer.startTag(null, "type"); System.out.println("短信类型:"+type); serializer.text(type); serializer.endTag(null, "type"); serializer.endTag(null, "sms"); } cursor.close(); serializer.endTag(null, "smss"); serializer.endDocument(); os.close(); Toast.makeText(getApplicationContext(), "备份完成", 1).show(); } catch (Exception e) { e.printStackTrace(); } } }); } }
还原短信
通过代码程序控制向手机发送短信,10s后手机可以接收到短信xml文件就只有一个button控件,就不再给出xml代码了。
import android.app.Activity; import android.content.ContentResolver; import android.content.ContentValues; import android.net.Uri; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /** * 还原一条短信 * * @param view */ public void click(View view) { new Thread(){ public void run() { try { //等待10秒钟的时间 Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } // 获取到一个数据库的内容的解析者 ContentResolver resolver = getContentResolver(); ContentValues values = new ContentValues(); values.put("address", "95533");//指定短信的发件人 values.put("date", System.currentTimeMillis()); values.put("body", "尊敬的客户,您的银行卡余额还有300万"); values.put("type", "1"); resolver.insert(Uri.parse("content://sms"), values); }; }.start(); } }
相关文章推荐
- Android之——短信的备份与还原
- Android之——短信的备份与还原
- Android(java)学习笔记247:ContentProvider使用之利用ContentProvider备份和还原手机短信(掌握)
- Android备份、还原通讯录和短信
- android基于JSON的短信备份功能
- [android] 短信的备份
- Android发展_备份短信
- Android实战教程第九篇之短信高效备份
- android使用xml备份短信
- Android项目:手机安全卫士(14)—— 短信备份
- android短信备份报 java.lang.IllegalArgumentException错误
- android101 获取、备份、插入短信
- android随笔14——短信备份以及xml解…
- 无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)
- 非智能手机通信录备份并还原至Android智能手机方法
- Android 短信的还原
- Android项目实战--手机卫士18--读取用户的短信内容以及短信备份
- Android 短信备份完整版
- Android之短信备份
- Android 学习笔记 短信备份 获取系统安装程序信息等等