/**
* 备份短信
*
* @param context
*/
public static void backupSms(Context context,BackupProcess backupProcess) {
ContentResolver resolver = context.getContentResolver();
Uri uri = Uri.parse("content://sms/");
Cursor cursor = resolver.query(uri, new String[] { "address", "date",
"type", "body" }, null, null, null);
backupProcess.backupMax(cursor.getCount());
XmlSerializer serializer = Xml.newSerializer();
File file = new File(Environment.getExternalStorageDirectory(),
"backup.xml");
BufferedOutputStream bos = null;
try {
bos = new BufferedOutputStream(new FileOutputStream(file));
serializer.setOutput(bos, "utf-8");
serializer.startDocument("utf-8", true);
serializer.startTag(null, "smss");
int pd_progress = 0;
while (cursor.moveToNext()) {
Thread.sleep(500);
serializer.startTag(null, "sms");
serializer.startTag(null, "address");
String address = cursor.getString(0);
serializer.text(address);
serializer.endTag(null, "address");
serializer.startTag(null, "date");
String date = cursor.getString(1);
serializer.text(date);
serializer.endTag(null, "date");
serializer.startTag(null, "type");
String type = cursor.getString(2);
serializer.text(type);
serializer.endTag(null, "type");
serializer.startTag(null, "body");
String body = cursor.getString(3);
serializer.text(body);
serializer.endTag(null, "body");
serializer.endTag(null, "sms");
pd_progress++;
backupProcess.backupProcess(pd_progress);
}
cursor.close();
serializer.endTag(null, "smss");
serializer.endDocument();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
XmlSerializer生成xml文件(备份短信)
最新推荐文章于 2020-09-27 03:08:44 发布