如何删除 android 2.2 上的联系人?
Posted
技术标签:
【中文标题】如何删除 android 2.2 上的联系人?【英文标题】:How to delete the contacts on android 2.2? 【发布时间】:2011-05-19 04:01:57 【问题描述】:我需要删除重复的联系人,然后在 android 2.2 上插入新联系人。
如何做到这一点?
给我任何示例代码或网站。
【问题讨论】:
【参考方案1】:要从 android 中删除内容项,您需要一个内容 URI 和一些删除条件。
每种内容类型都有自己的内容 URI。如果您正在编写联系人同步适配器,那么您可能需要使用 ContactsContract.RawContacts.CONTENT_URI。
您还需要一个 ContentResolver - 一个与内容提供者通信的接口(在此接口中定义了插入、更新和删除等操作)。您可以通过从应用程序上下文中调用 getContentResolver 来获取 ContentResolver。
所以,这里是应该删除所有联系人的代码的 sn-p(虽然没有测试过):
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()
更多解释请阅读official docs about content providers。
【讨论】:
为了删除多个特定的联系人(例如,给定他们的联系人键),可以使用 getContentResolver().applyBatch 吗?或者我应该创建一个有点复杂的删除操作?哪个更好,或者各自的优缺点是什么? 对不起,我不知道。【参考方案2】:也许这会对你有所帮助,
How to remove a contact programmatically in android
【讨论】:
那个话题已经过时了。 TS问2.2左右以上是关于如何删除 android 2.2 上的联系人?的主要内容,如果未能解决你的问题,请参考以下文章
QQ通讯录2.2 android版 怎么给联系人分组??大神们帮帮忙