短信备份

原创 2015年11月18日 14:40:48
package com.xh.tx.sms;

import java.util.Date;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

	private static final String TAG = "MainActivity";
	private final String uri = "content://sms/";
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	
		writeSMS();
		
	}

	private void readSMS() {
		ContentResolver resolver = this.getContentResolver(); //获取访问内容提供者的工具类
		String[] projection = new String[]{"_id","address","date","type","body"};
	
		Cursor cursor = resolver.query(Uri.parse(uri), projection, null, null, null);
		
		if(null != cursor && cursor.getCount() > 0)
		{
			while(cursor.moveToNext())
			{
				Integer _id = cursor.getInt(0);
				String address = cursor.getString(1);
				Long date = cursor.getLong(2);
				Integer type = cursor.getInt(3);
				String body = cursor.getString(4);
				
				Log.i(TAG, _id +" " + " address=" +address + " date = " + new Date(date) + " type=" + type + " body =" + body);
			}
			
			cursor.close();
		}
		
	}

	public void writeSMS()
	{
		ContentResolver resolver = this.getContentResolver(); //获取访问内容提供者的工具类
		
		resolver.registerContentObserver(Uri.parse(uri), true, new MyObserver(new Handler())); //内容观察者
		
		ContentValues values = new ContentValues();
		
		//desc 降序排列 limit 用来限制你返回多少条记录
		Cursor cursor = resolver.query(Uri.parse(uri), new String[]{"_id"}, null, null, " _id desc limit 1");
		
		if(null != cursor && cursor.moveToFirst())
		{
			//Log.e(TAG, "-----------------=" + cursor.getInt(0));
			//values.put("RecNo", cursor.getInt(0)+1);
			values.put("address", "95535");
			values.put("date", System.currentTimeMillis());
			values.put("type", "1");
			values.put("body", "你好啊 亲爱的!");
			
			Log.i(TAG, resolver.insert(Uri.parse(uri), values) + " ====");
		}
		
	}
	
	class MyObserver extends ContentObserver
	{

		public MyObserver(Handler handler) {
			super(handler);
			
		}
		
		@Override
		public void onChange(boolean selfChange) {
			super.onChange(selfChange);
	
			ContentResolver resolver = MainActivity.this.getContentResolver(); //获取访问内容提供者的工具类
			String[] projection = new String[]{"_id","address","date","type","body"};
			
			Cursor cursor = resolver.query(Uri.parse("content://sms/outbox"), projection, null, null, null);
			
			if(null != cursor && cursor.getCount() > 0)
			{
				while(cursor.moveToNext())
				{
					Integer _id = cursor.getInt(0);
					String address = cursor.getString(1);
					Long date = cursor.getLong(2);
					Integer type = cursor.getInt(3);
					String body = cursor.getString(4);
					
					Log.i(TAG, _id +" " + " address=" +address + " date = " + new Date(date) + " type=" + type + " body =" + body);
				}
				
				cursor.close();
		}
		}
	}
}




版权声明:本文为博主原创文章,未经博主允许不得转载。

Android短信联系人备份并上传

  • 2015年03月12日 18:42
  • 325KB
  • 下载

安卓手机不开机的情况下 怎么备份 联系人 短信 通话记录

安卓手机不开机 怎么备份 联系人 短信 通话记录 1.准备 安卓常用工具adb工具包 2. 手机进入recovery模式 ...

android备份系统的短信

  • 2014年06月23日 22:24
  • 636KB
  • 下载

ppc pim程序,可备份短信

  • 2008年11月15日 23:06
  • 210KB
  • 下载

从安卓recovery 的 backup 备份数据中手动恢复 通讯录、短信,或者其他软件中的信息的方法

本文提供一种机器由于删错系统文件或者其他问题而导致系统启动不了的时候,如何找回重要的通信录、短信等资料的方法,前提是recovery已经刷了,并能够启动。     刷机时候用的 recovery...

安卓 android备份短信

  • 2015年08月19日 17:20
  • 1.19MB
  • 下载

Android之——短信的备份与还原

目前,Android手机中的一些软件可以实现手机短信的备份与还原操作。这篇博文就是要向大家介绍如何实现Android短信的备份与还原操作。好了,相信大家对这些实用的功能还是比较赶兴趣的,不多说了,我们...

android短信备份

  • 2015年07月06日 15:25
  • 1.13MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:短信备份
举报原因:
原因补充:

(最多只允许输入30个字)