从联系人中删除自定义帐户 ACCOUNT_TYPE

Remove custom account ACCOUNT_TYPE from contacts

我创建了一个自定义帐户,并向该帐户添加了一些联系人。所以现在我想从这些联系人中删除该帐户。几周以来我一直在谷歌搜索,但我找不到任何东西。如果有人知道该怎么做,请帮助我。

谢谢。

注意:您应该修改RawContacts,而不是ContactsContacts 只是加入 RawContactsRawContacts 是在一个帐户上创建的。

不确定是否可行,因为 RawContacts 需要属于一个帐户。 您可以尝试遍历那些 RawContacts,并将 account_typeaccount_name 处的值更改为其他 validexisting帐号。

它有成功的机会,但我不确定您是否可以在所有 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);

参考: