天天看點

短信資料庫的操作

//查詢短信資料庫

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"/>