天天看点

短信数据库的操作

//查询短信数据库

public void click1(View v){

Uri uri = Uri.parse("content://sms/");

Cursor cursor = getContentResolver().query(uri, new String[]{"address","body"}, null, null, null);

while (cursor.moveToNext()) {

String address = cursor.getString(0);

String body = cursor.getString(1);

System.out.println(address+" 发送短信:"+body);

}

}

//短信数据库增加备份到xml中

public void click2(View v){

try {

//获取xml序列化实例

XmlSerializer serializer = Xml.newSerializer();

//设置参数

File file = new File(Environment.getExternalStorageDirectory().getPath(),"msg.xml");

FileOutputStream fos;

fos = new FileOutputStream(file);

serializer.setOutput(fos, "utf-8");

//写文档开头

serializer.startDocument("utf-8", true);

serializer.startTag(null, "smss");

Uri uri = Uri.parse("content://sms/");

Cursor cursor = getContentResolver().query(uri, new String[]{"address","date","body"}, null, null, null);

while(cursor.moveToNext()){

String address = cursor.getString(0);

String date = cursor.getString(1);

String body = cursor.getString(2);

serializer.startTag(null, "sms");

serializer.startTag(null, "address");

serializer.text(address);

serializer.endTag(null, "address");

serializer.startTag(null, "date");

serializer.text(date);

serializer.endTag(null, "date");

serializer.startTag(null, "body");

serializer.text(body);

serializer.endTag(null, "body");

serializer.endTag(null, "sms");

}

serializer.endTag(null, "smss");

serializer.endDocument();

} catch (Exception e) {

e.printStackTrace();

}

}

//短信数据库增加记录

public void click3(View v){

Uri uri = Uri.parse("content://sms/");

ContentValues values = new  ContentValues();

values.put("address", "110");

values.put("body", "快来啊");

getContentResolver().insert(uri, values);

}

权限:

<uses-permission android:name="android.permission.WRITE_SMS"/>

    <uses-permission android:name="android.permission.READ_SMS"/>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>