Как удалить контакты на андроиде 2.2?

Мне нужно удалить повторяющиеся контакты, а затем вставить новый контакт на Android 2.2.

Как это сделать?

дайте мне любой пример кода или сайтов для этого.


person bharath    schedule 02.12.2010    source источник


Ответы (2)


Может быть, это поможет вам,

Как программно удалить контакт в Android

person Mudassir    schedule 02.12.2010
comment
Та тема устарела. ТС спросил про 2.2 - person Vanuan; 15.04.2011

Чтобы удалить элемент контента с Android, вам нужен URI контента и некоторые критерии удаления.

Каждый тип контента имеет свой собственный URI контента. Если вы пишете свой адаптер синхронизации контактов, вы можете использовать ContactsContract.RawContacts.CONTENT_URI.

Еще вам понадобится ContentResolver — интерфейс для связи с поставщиком контента (в этом интерфейсе определены такие операции, как вставка, обновление и удаление). Вы можете получить ContentResolver, вызвав getContentResolver из контекста вашего приложения.

Итак, вот фрагмент кода, который должен удалить ВСЕ контакты (хотя и не проверял):

ContentCesolver cr = getContentResolver();
URI uri = RawContacts.CONTENT_URI;
cr.delete(uri, null, null);

Обратите внимание, что при использовании RawContacts.CONTENT_URI элемент контакта не удаляется. Вместо этого он помечен только для удаления. Чтобы удалить его полностью, вы должны добавить параметр ContactsContract.CALLER_IS_SYNCADAPTER в свой URI:

uri.buildUpon()
   .appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER,
         "true").build()

Дополнительные пояснения см. в официальных документах о поставщиках контента.

person Vanuan    schedule 14.04.2011
comment
Чтобы удалить несколько определенных контактов (например, с учетом их контактных ключей), можно ли использовать getContentResolver().applyBatch ? Или я должен создать одну операцию удаления, которая немного сложна? Что лучше, или каковы преимущества и недостатки каждого? - person android developer; 13.01.2016
comment
Извините, я не знаю. - person Vanuan; 14.01.2016