备份短信

读取手机里的短信,备份成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() {@Overridepublic 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 {@Overrideprotected 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();}}



更多相关文章

  1. 【Android 系统开发】 编译 Android文件系统 u-boot 内核 并烧写
  2. android两种方式实现发送短信的功能代码
  3. Android gradle build 修改文件名称及目录
  4. 让 Android 可以识别BMP图片文件,且目前Android所支持的所有图片
  5. Android中的gen文件为空或者不存在的处理方法
  6. Android APK 扩展文件
  7. Android颜色值XML文件
  8. android 查看apk中资源文件
  9. Android 根文件系统启动分析

随机推荐

  1. android sqlite加密
  2. android添加以太网ethernet方法 android
  3. Android中的GPS应用开发入门教程
  4. Android应用程序框架层和系统运行库层日
  5. Eclipse开发Android常用快捷键
  6. android studio将一个项目作为module(libr
  7. Android Studio--Android中的消息机制
  8. Understanding Android Security(安卓安全
  9. 正确的Flutter和Android交互代码
  10. android进程间服务通信