如何从android中有多个号码的联系人中删除一个号码?

时间:2017-04-12 05:30:00

标签: android android-contacts

在我的申请中,我要求从电话地址簿中删除特定数量的CONTACT,但到目前为止,我只需要使用以下代码删除整个联系人:

    Uri url = RawContacts.CONTENT_URI;
    String where = Contacts.DISPLAY_NAME + " = '" + name + "'";
    String[] selectionArgs = null;
    return context.getContentResolver().delete(url, where, selectionArgs);

我也尝试使用MIMETYPE删除号码,但没有取得任何成功。

所以请帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

电话号码存储在Data表格中,您需要根据联系人ID和电话号码进行删除:

Uri url = Data.CONTENT_URI;
String where = Data.CONTACT_ID + " = '" + theContactId + "' AND " + Data.MIMETYPE + " = '" + CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "' AND " + CommonDataKinds.Phone.NUMBER + " = '" + thePhoneNumber "'";
return context.getContentResolver().delete(url, where, null);

请注意,theContactId是您尝试修改的联系人的联系人ID,thePhoneNumber是您获得的电话号码的完全字符串来自Contacts DB。

详细了解数据表格herehere中的数据存储方式。