public class VCardActivity extends Activity {
Cursor cursor;
ArrayList<String> vCard;
String vfile;
static Context mContext;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mContext = VCardActivity.this;
getVCF();
}
public static void getVCF() {
final String vfile = "Contacts.vcf";
Cursor phones = mContext.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
null, null, null);
phones.moveToFirst();
for (int i = 0; i < phones.getCount(); i++) {
String lookupKey = phones.getString(phones
.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
Uri uri = Uri.withAppendedPath(
ContactsContract.Contacts.CONTENT_VCARD_URI,
lookupKey);
AssetFileDescriptor fd;
try {
fd = mContext.getContentResolver().openAssetFileDescriptor(uri, "r");
FileInputStream fis = fd.createInputStream();
byte[] buf = new byte[(int) fd.getDeclaredLength()];
fis.read(buf);
String VCard = new String(buf);
String path = Environment.getExternalStorageDirectory()
.toString() + File.separator + vfile;
FileOutputStream mFileOutputStream = new FileOutputStream(path,
true);
mFileOutputStream.write(VCard.toString().getBytes());
phones.moveToNext();
Log.d("Vcard", VCard);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
Enjoy :-)
Don’t forget to provide feedback or follow this blog, if you find this blog is useful.
how to import ?
ReplyDeleteGreat code. Thanks.
ReplyDeleteI'm trying to figure out how to import as well.
It works just fine. Actually i was trying to import them back can you help.
Deletesir it is working in 2.3.3 but it is not working in 4.2 ... plz help
ReplyDeletehello sir,
ReplyDeletei want to export call log in vcf file in sd card
please give me code.
How to import contacts without using Intent ?
ReplyDeleteEvery contact that has more than one phone number (a mobile and work number) are saved twice. And both of the numbers are in each duplicate contact, so they are correct, just duplicated. so pls help me out
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteGreat code. It does all the trick. But I'm still trying to make it work in 4.2... need help pls!
ReplyDeleteThank you! it's working
ReplyDeletehow to save vcf to phone contacts programatically in android
ReplyDelete