, когда я обновляю имя контакта с помощью следующего кода, он создает новый контакт из исходного контакта на несколько секунд, а затем удаляет его.
String where = ContactsContract.Data.RAW_CONTACT_ID+" = ? AND "+ContactsContract.Data.MIMETYPE+" = ?";
String[] agrs = {"1",ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE};
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(where, agrs)
.withValue(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, "googleName")
.withValue(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, null)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "googleName")
.build());
try {
context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
} catch (Exception e) {
e.printStackTrace();
}
(Этот необработанный контакт получен из Google, у которого есть WhatsApp номер). Перед выполнением этого обновления таблицы выглядят следующим образом: -
Необработанная таблица
Account type | contact_id | _id
com.google 6 1
com.whatsapp 6 2
таблица контактов:
Display Name | _id | name_row_contact_id
Lorem 6 1
После операции переименования таблица контактов выглядит следующим образом: -
Display Name | _id | name_row_contact_id
googleName | 6 | 1
Lorem | 6 | 2 //---> Why its happening ??
* Через несколько секунд после операции обновления этот Lorem будет удален *
!!! когда это происходит, мое приложение считает, что новый контакт добавляется, а затем снова удаляется :( !!!
Я что-то не так делаю, когда обновляю имя контакта ??
Пожалуйста, помогите!