【发布时间】:2017-02-03 09:37:25
【问题描述】:
我创建了一个自定义帐户,并在该帐户中添加了一些联系人。所以现在我想从这些联系人中删除该帐户。几周以来我一直在谷歌搜索,但我找不到任何东西。如果有人知道该怎么做,请帮助我。
谢谢。
【问题讨论】:
标签: android android-contacts contactscontract android-account rawcontacts
我创建了一个自定义帐户,并在该帐户中添加了一些联系人。所以现在我想从这些联系人中删除该帐户。几周以来我一直在谷歌搜索,但我找不到任何东西。如果有人知道该怎么做,请帮助我。
谢谢。
【问题讨论】:
标签: android android-contacts contactscontract android-account rawcontacts
下面的代码解决了我的问题:)
String selection = ContactsContract.RawContacts._ID+ "=?";
String selectionargs[] = { String.valueOf(rawContactId) }; //Get rawContactId
int deletedRawContacts = context.getContentResolver().delete(ContactsContract.RawContacts.CONTENT_URI.buildUpon()
.appendQueryParameter(ContactsContract.RawContacts.ACCOUNT_NAME, ACCOUNT_NAME)
.appendQueryParameter(ContactsContract.RawContacts.ACCOUNT_TYPE, ACCOUNT_TYPE)
.appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build(),
selection,selectionargs);
System.out.println("No. of contacts deleted are " + deletedRawContacts);
【讨论】:
注意:您应该修改RawContacts,而不是Contacts。
Contacts 只是简单地加入了RawContacts,而RawContacts 是在一个帐户上创建的。
不确定这是否可能,因为RawContacts 需要完全属于一个帐户。
您可以尝试循环遍历这些 RawContacts,并将 account_type 和 account_name 的值更改为其他一些有效和现有帐户。
它有成功的机会,但我不确定你是否可以指望它适用于所有 Android 版本/设备。
【讨论】: