【发布时间】:2011-05-19 04:01:57
【问题描述】:
我需要删除重复的联系人,然后在 Android 2.2 上插入新联系人。
如何做到这一点?
给我任何示例代码或网站。
【问题讨论】:
我需要删除重复的联系人,然后在 Android 2.2 上插入新联系人。
如何做到这一点?
给我任何示例代码或网站。
【问题讨论】:
要从 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()
【讨论】:
【讨论】: