-4

我已将我的联系人导出到 SDCard 上的 VCF 文件。现在,我想导入回来,但我不知道该怎么做。请给我一些代码或建议。非常感谢。

4

1 回答 1

0

请参阅下面的代码以从 .vcf 文件中导入联系人。

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
        .withValue(RawContacts.ACCOUNT_TYPE,null)
        .withValue(RawContacts.ACCOUNT_NAME, null)
        .withValue(RawContacts.STARRED, Starred)
        .withValue(RawContacts.CUSTOM_RINGTONE, CustRingTone)
        .build());

ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
        .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
        .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
        .withValue(StructuredName.DISPLAY_NAME, displayName)
        .withValue(StructuredName.PHONETIC_GIVEN_NAME, PhoneticName_First)
        .withValue(StructuredName.PHONETIC_MIDDLE_NAME, PhoneticName_Middle)
        .withValue(StructuredName.PHONETIC_FAMILY_NAME, PhoneticName_Last)
        .build());

for (RowData phone : phones) {
    ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI).withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex).withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE).withValue(Phone.NUMBER, phone.data).withValue(Phone.TYPE, phone.type).withValue(Phone.LABEL, phone.customLabel).build());
}

有关更多信息,请参见下面的链接。

如何使用代码从 VCF 文件中导入联系人

于 2012-11-03T07:51:26.827 回答