0

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

谢谢。

回答

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

0

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

不确定这是可能的,因为RawContacts只需属于一个帐户。 您可以尝试遍历这些RawContacts,并改变在account_typeaccount_name值一些其他有效现有帐户。

它有成功的机会,但我不确定你可以指望它的所有Android版本/设备。

+0

如果我尝试删除** ** RawContacts然后整个接触是越来越删除:( – Ram

+0

你想删除这些RawContacts或更改他们的帐户?您可以通过删除手机设置>帐户>自定义帐户>删除帐户中的帐户轻松地手动删除它们 – marmor

+0

我不想删除所有联系人,我只想删除几个或可能是一个联系人。 – Ram