API контактов сохраняет контакт как невидимый контакт: как сделать его видимым?

Я пытаюсь добавить контакт в 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);

, когда я исключаю это, я не получаю никаких ошибок или исключений. Но контакт не появляется в контактах Android. Когда я извлекаю невидимые контакты, я могу найти этот контакт. Может ли кто-нибудь понять, что происходит не так?

8
задан Josh Crozier 8 December 2013 в 04:49
поделиться