我正在尝试使用在 Android 中添加联系人getContentResolver
。首先我创建了一个ArrayList
:
ArrayList<ContentProviderOperation> ops =
new ArrayList<ContentProviderOperation>();
然后填充数组列表
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME,accountName)
.build());
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,rawContactInsertIndex)
.withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
.build());
最后在一个尝试块中
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
当我执行此操作时,我没有收到任何错误或异常。但联系人不会出现在 Android 联系人中。当我检索隐形联系人时,我可以找到这个联系人。任何人都可以弄清楚出了什么问题吗?