这时候,我们可以试试将用来删除表 raw_contacts 中数据的条件字段改为 CONTACT_ID 字段试试,本人原来是以display_name为条件字段,结果删除不成功,后改为 CONTACT_ID,就成功删除,有需要的可以试试(其中:userSQL_id 为系统通讯录表中的条目的ID)
/**
*
* 删除手机电话薄中的一条数据
* */
public void deleteContacts(int userSQL_id)
{
Uri uri = Uri.parse("content://com.android.contacts/data");
ContentResolver resolver = context.getContentResolver();
resolver.delete(uri, "raw_contact_id=?",
new String[] { userSQL_id + "" });
uri = Uri.parse("content://com.android.contacts/raw_contacts");
resolver.delete(uri, "CONTACT_ID=?", new String[] { userSQL_id + "" });
// context.getContentResolver()
// .delete(ContentUris.withAppendedId(RawContacts.CONTENT_URI,
// userSQL_id), null, null);
}