码迷,mamicode.com
首页 > 移动开发 > 详细

android_备份还原通讯录

时间:2014-09-02 14:17:34      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:des   android   os   io   java   ar   art   cti   log   

package cn.m15.helper.logic;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.Uri;
import android.os.Environment;
import android.provider.ContactsContract;

public class ContactsSyncer extends Syncer {

	public void backup(Context context) {
		ContentResolver cr = context.getContentResolver();
		Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
				null, null, null);
		int index = cur.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY);
		FileOutputStream fout;
		try {
			fout = new FileOutputStream(
					Environment.getExternalStorageDirectory() + "/go.vcf");
			byte[] data = new byte[1024 * 1];
			while (cur.moveToNext()) {
				String lookupKey = cur.getString(index);
				Uri uri = Uri.withAppendedPath(
						ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);
				AssetFileDescriptor fd = context.getContentResolver()
						.openAssetFileDescriptor(uri, "r");
				FileInputStream fin = fd.createInputStream();
				int len = -1;
				while ((len = fin.read(data)) != -1) {
					fout.write(data, 0, len);
				}
				fin.close();
			}
			fout.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void restore(Context context, String filename) {
		Intent intent = new Intent();
		intent.setPackage("com.android.contacts");
		Uri uri = Uri.fromFile(new File(filename));
		intent.setAction(Intent.ACTION_VIEW);
		intent.setDataAndType(uri, "text/x-vcard");
		context.startActivity(intent);
	}
}

android_备份还原通讯录

标签:des   android   os   io   java   ar   art   cti   log   

原文地址:http://blog.csdn.net/zhpforever/article/details/39004107

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!