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

时间:2016-09-26 06:36:40

标签: android android-contacts contactscontract android-account rawcontacts

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

感谢。

2 个答案:

答案 0 :(得分:0)

注意:您应该修改RawContacts,而不是Contacts。 只需加入Contacts RawContacts,就可以在帐户中创建RawContacts

不确定是否可行,因为RawContacts只需要属于一个帐户。 您可以尝试循环使用RawContacts,并将account_typeaccount_name的值更改为其他有效现有帐户。

它有成功的机会,但我不确定您是否可以依赖所有Android个版本/设备。

答案 1 :(得分:0)

以下代码解决了我的问题:)

    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);

参考: https://stackoverflow.com/a/8692909/3142192