Я работал с контактами Android. Я могу их показать, обновить, но когда я хочу их удалить, они не удаляются полностью. В Контактах приложение отображается как (Неизвестно) без каких-либо данных. Вот мой пример:
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newDelete(Data.CONTENT_URI)
.withSelection(Data.CONTACT_ID + "=?", new String[]{selectedid})
.build());
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
Должен ли я сделать что-нибудь еще, чтобы полностью удалить контакт? Кажется, что этот код удаляет информацию в таблице ContactsContract.Data, но не удаляет элемент, связанный с таблицей ContactsContract.Contacts или ContactsContract.RawContacts. Как я могу полностью удалить контакт?
============================================================================
Кроме того, я попробовал устаревший метод. Это дозирует работу, но я не хочу этого делать. Вот пример кода:
ContentResolver contentResolver = m_cContent.getContentResolver();
contentResolver.delete(People.CONTENT_URI, People.NAME + "=?", new String[] { SelectedName });
и если я изменю этот код на
ContentResolver contentResolver = m_cContent.getContentResolver();
contentResolver.delete(ContactsContract.Contacts, ContactsContract.Contacts._ID + "=?", new String[] { Selectedid });
Это не имеет никакого эффекта.
Означает ли это, что контакт можно удалить только по имени, а не по его идентификатору? Что я могу сделать, чтобы удалить контакт?
Спасибо, Энкор