Android中 備份簡訊 還原簡訊

來源:互聯網
上載者:User

標籤:android備份簡訊   android還原簡訊   產生xml   xml   android簡訊讀寫   

備份簡訊

讀取手機裡的簡訊,備份成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();}}



Android中 備份簡訊 還原簡訊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.