Я пытаюсь добавить контакт в 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());
и, наконец, в блоке try
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
когда я выполняю это, я не получаю никаких ошибок или исключений. Но контакт не появляется в контактах Андроида. Когда я получаю невидимые контакты, я могу найти этот контакт. Может ли кто-нибудь понять, что происходит не так?