0

私はカスタムアカウントを作成しましたが、そのアカウントにはいくつかの連絡先が追加されています。だから私はそれらの連絡先からアカウントを削除したい。私は数週間からグーグルでいますが、私は何かを見つけることができません。誰かがそれをする方法を知っているなら、私を助けてください。連絡先からカスタムアカウント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ではなくContactsを修正する必要があります。 Contactsは、単純にRawContactsに参加し、アカウントでRawContactsが作成されます。

RawContactsは正確に1つのアカウントに属している必要があるため、わからないことがあります。 あなたはそれらのRawContactsをループしてみてください、といくつかの他の有効既存アカウントにaccount_typeaccount_nameで値を変更することができます。

これは成功する可能性がありますが、すべてのAndroidバージョン/デバイスではそれを期待できません。

+0

を私は** RawContactsを削除しようとする**その後、全体の連絡先は削除取得さ:( – Ram

+0

をあなたがしようとしていますこれらのRawContactsを削除するか、アカウントを変更しますか?携帯電話の設定>アカウント>カスタムアカウント>アカウントを削除することで、簡単に手動で削除できます。 – marmor

+0

すべての連絡先を削除したくありません。 1つの連絡先。 – Ram

関連する問題