从联系人中删除自定义帐户 ACCOUNT_TYPE
Remove custom account ACCOUNT_TYPE from contacts
我创建了一个自定义帐户,并向该帐户添加了一些联系人。所以现在我想从这些联系人中删除该帐户。几周以来我一直在谷歌搜索,但我找不到任何东西。如果有人知道该怎么做,请帮助我。
谢谢。
注意:您应该修改RawContacts
,而不是Contacts
。
Contacts
只是加入 RawContacts
,RawContacts
是在一个帐户上创建的。
不确定是否可行,因为 RawContacts
需要属于一个帐户。
您可以尝试遍历那些 RawContacts
,并将 account_type
和 account_name
处的值更改为其他 valid 和 existing帐号。
它有成功的机会,但我不确定您是否可以在所有 Android
版本/设备上依靠它。
下面的代码解决了我的问题:)
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
处的值更改为其他 valid 和 existing帐号。
它有成功的机会,但我不确定您是否可以在所有 Android
版本/设备上依靠它。
下面的代码解决了我的问题:)
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);
参考: