How to import contacts from VCF file by using code

偶尔善良 提交于 2019-11-28 00:36: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());
                }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!