【发布时间】:2021-06-16 21:13:28
【问题描述】:
我正在开发一个应用程序,在该应用程序中我应该能够访问所有联系人,能够更新或删除任何联系人中的号码。
我想删除联系人中的几个号码。我正在使用 batchOperations 执行删除操作。
phone = ContactsContract.Data.RAW_CONTACT_ID + " = ? AND " +
ContactsContract.Data.MIMETYPE + " = ? AND " +
ContactsContract.CommonDataKinds.Phone._ID + " = ?";
String[] phoneArgs = new String[]{Integer.toString(rawContactId), ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE, String.valueOf(id)};
batchOperations.add(ContentProviderOperation.newDelete(Data.CONTENT_URI).withSelection(phone, phoneArgs).build());
this.mContext.getContentResolver().applyBatch("com.android.contacts", batchOperations);
batchOperations.clear();
我正在使用这部分代码从联系人中删除特定号码。使用调试器,对于示例删除操作,我发现值如下:
raw_contact_id = 4093
id = 21579
这些值对应于示例联系人中一组号码中的特定号码(“+814444444444”)。(请参阅下图)
但该号码仍然没有被删除。在过去的几个小时里,我一直在试图解决这个问题,但无法解决。请帮忙。
【问题讨论】:
标签: android selection android-contentprovider contacts android-contacts