public class BackUpSmsActivity extends BaseActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_backupsms);    }    public void addSms(View view){        try {            Uri url = Uri.parse("content://sms");            ContentValues values = new ContentValues();            values.put("date", System.currentTimeMillis());            values.put("type", 1);            values.put("address", "5446");            values.put("body", "早上好");            getContentResolver().insert(url, values);        } catch (Exception e) {            e.printStackTrace();            show("备份失败");        }    }    /** * 备份短信 * @param view */    public void backupSms(View view){        List<SmsInfo> smsInfos = new ArrayList<SmsInfo>();        Uri uri = Uri.parse("content://sms");        Cursor cursor = getContentResolver().query(uri, new String[]{"date","type","address","body"}, null, null, null);        while(cursor.moveToNext()){            long date = cursor.getLong(cursor.getColumnIndex("date"));            int type = cursor.getInt(cursor.getColumnIndex("type"));            String address = cursor.getString(cursor.getColumnIndex("address"));            String body = cursor.getString(cursor.getColumnIndex("body"));            SmsInfo info = new SmsInfo(date, type, body, address);            smsInfos.add(info);            doBackUp(smsInfos);        }    }    private void doBackUp(List<SmsInfo> smsInfos) {        try {            XmlSerializer serializer = Xml.newSerializer();            OutputStream os = new FileOutputStream(new File("/sdcard/sms.xml"));            serializer.setOutput(os, "utf-8");            serializer.startDocument("utf-8", true);            serializer.startTag(null, "smss");            for(SmsInfo info : smsInfos){                serializer.startTag(null, "sms");                serializer.startTag(null, "date");                serializer.text(info.getDate() + "");                serializer.endTag(null, "date");                serializer.startTag(null, "type");                serializer.text(info.getType() + "");                serializer.endTag(null, "type");                serializer.startTag(null, "address");                serializer.text(info.getAddress() + "");                serializer.endTag(null, "address");                serializer.startTag(null, "body");                serializer.text(info.getBody() + "");                serializer.endTag(null, "body");                serializer.endTag(null, "sms");            }            serializer.endTag(null, "smss");            serializer.endDocument();            os.close();        } catch (Exception e) {            e.printStackTrace();            Toast.makeText(this, "备份失败", 1).show();        }    }}

实体类

/** * 短信 * @author Administrator * */public class SmsInfo {    private int id;    private long date;    private int type;    private String body;    private String address;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public SmsInfo() {        super();        // TODO Auto-generated constructor stub    }    public SmsInfo(long date, int type, String body, String address) {        this.date = date;        this.type = type;        this.body = body;        this.address = address;    }    public SmsInfo(int id, long date, int type, String body, String address) {        super();        this.id = id;        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;    }}

更多相关文章

  1. 第三课:android发送短信
  2. android 发送短信的两种方式
  3. androidのMMS短信发送过程(三)
  4. android简单实现短信拦截
  5. Android通讯:短信
  6. 在测试环境模拟电话的进入和短信的进入
  7. Android 监听短信2种方式:Broadcast和ContentObserver
  8. Android 获取未读短信同时,一并获取该短信内容的方法

随机推荐

  1. js实现支付倒计时返回首页
  2. 通过vue方式实现二维码扫码功能
  3. vue利用vue meta info设置每个页面的titl
  4. 初识JavaScript的基础
  5. 浅谈Vue3的几个优势
  6. 【北亚数据恢复】企业如何避免服务器数据
  7. 不联网的情况下,使用 electron-builder 快
  8. 解决vue中less的使用问题
  9. JavaScript实现进度条效果
  10. React中10种Hook的使用介绍