How to import contacts from VCF file by using code

前端 未结 1 1631
梦如初夏
梦如初夏 2020-12-06 15:47

I have create a vcf file that contains contacts by using this code

ContentResolver cr = getContentResolver();
    Cursor cur = cr.query(ContactsContract.Cont         


        
相关标签:
1条回答
  • 2020-12-06 16:32

    After searching the Web the best way to import contacts is as follows

    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());
                    }
    
    0 讨论(0)
提交回复
热议问题