Хорошо, я собираюсь батти. Я уже немного возился с этим. Нельзя удалить один контакт, если вы знаете, что contact_id будет таким простым? Это удаление выполняется, не вызывает ошибки, но не удаляет контакт.удаление одного контакта из контактов android
Записывать информацию показать что-то вроде:
delete contact_id = '615'
delete return code : 0
Это код участвует:
private static int deleteContact(Context c, String id) {
String where = ContactsContract.Data.CONTACT_ID + " = '" + id + "'";
int rc = -1;
try {
Log.i("delete", where);
rc = c.getContentResolver().delete(ContactsContract.Contacts.CONTENT_URI, where, null);
Log.i("delete",String.format("return code : %d", rc));
} catch (Exception e) {
System.out.println(e.getStackTrace());
}
return rc;
}
Может кто-нибудь помочь мне найти решение или предложить альтернативу?
Во-первых, вы уверены, что контакт с этим идентификатором существует? Во-вторых, лучшим вариантом является использование 'c.getContentResolver(). delete (ContactsContract.Contacts.CONTENT_URI, ContactsContract.Data.CONTACT_ID +" =? ", новый String [] {id});' – Selvin
Вы пробовали найденный метод на http://stackoverflow.com/questions/527216/how-to-remove-a-contact-programmatically-in-android? –
Ответ на первый вопрос ... да. Я уверен, что ID существует. Я (глупый) решил синхронизировать как адресные, так и адресные книги google. Я надеялся на довольно интеллектуальную синхронизацию, но не так много. Следовательно, у меня есть несколько дубликатов. В коде я использую циклы через контакты, изучающие AccountType ..., если это google, он остается, его внешний вид id передается моей маленькой функции для удаления. Я начал с кода в SO # 527216, очистил его до того, что у меня есть. Я начал с предложенного ( – mcmprch