API de contato que armazena o contato como um contato invisível: como torná-lo visível?
Estou tentando adicionar um contato no Android usandogetContentResolver
. Primeiro eu criei umArrayList
:
ArrayList<ContentProviderOperation> ops =
new ArrayList<ContentProviderOperation>();
então preencheu a lista de matrizes por
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());
e finalmente em um bloco try
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
quando executo isso, não estou recebendo nenhum erro ou exceção. Mas o contato não aparece nos contatos do Android. Quando recupero os contatos invisíveis, pude encontrar esse contato. Alguém pode descobrir o que está errado?