で説明したように
http://developer.android.com/reference/android/provider/ContactsContract.RawContacts.html
RawContacts の CONTACT_ID フィールドは、集約された連絡先へのリンクです。経由で RawContact を削除ContentProviderOperation.newDelete
すると、このフィールドが null になります (私が見つけたように)。RawContact が実際に削除されるのは、Android の同期と集計次第です。特定のアカウントから特定の連絡先を削除する必要があったため、集約された連絡先ではなく、RawContacts を介して削除することができました。RawContact が削除されたかどうかを確認するには、次を使用しました。
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ContentResolver contentResolver = getContentResolver();
Cursor curRawContacts = contentResolver.query(ContactsContract.RawContacts.CONTENT_URI, null,
ContactsContract.RawContacts.ACCOUNT_TYPE + " = ? AND " + ContactsContract.RawContacts.ACCOUNT_NAME
+ " = ?", new String[]{"MYTYPE", MyAccount}, null);
int size = curRawContacts.getCount();
for (int i = 0; i < size; i++) {
curRawContacts.moveToPosition(i);
//getColumnIndexOrThrow(String columnName)
//Returns the zero-based index for the given column name, or throws IlleidRawContactgalArgumentException if the column doesn 't exist.
String idRawContact = curRawContacts.getString(curRawContacts.getColumnIndexOrThrow(ContactsContract.RawContacts._ID));
String idContact = curRawContacts.getString(curRawContacts.getColumnIndexOrThrow(ContactsContract.RawContacts.CONTACT_ID));
// if link to aggregated contact is null, than raw contact had already been deleted
if (idContact != null) {