newDelete
ContentProvider的方法对我不起作用。它会删除联系人中的所有信息,但会在您的电话簿中留下一个空(null null)联系人。
这就是为什么我必须将ContentResolver与delete
方法一起使用。
我想删除使用我的应用创建的特定联系人SOURCE_ID
。
我已经设置CALLER_IS_SYNCADAPTER
为true
.
所以这就是我管理它的方式:
Uri contactUri = RawContacts.CONTENT_URI.buildUpon().appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();
String whereClause = RawContacts.SOURCE_ID + " = ?";
String[] args = new String[]{contactId};
int deletedRawContacts = context.getContentResolver().delete(contactUri, whereClause, args);
if (deletedRawContacts > 0) {
Log.d(TAG, "Delete OK");
} else {
Log.d(TAG, "Nothing to delete");
}