我正在使用此代码更新android上现有联系人的号码:
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
ContentProviderOperation.Builder builder = ContentProviderOperation
.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(
ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?"
+ " AND " + ContactsContract.CommonDataKinds.Phone.TYPE + "=?",
new String[] { String.valueOf(contactId),
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE })
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, mobileNumber);
ops.add(builder.build());
我想为此联系人添加另一个号码,其中Type = ContactsContract.CommonDataKinds.Phone.TYPE_WORK
不清楚旧号码。
如何使用ContentProviderOperation
?
答案 0 :(得分:2)
好的,我找到了解决方案
builder = ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValue(ContactsContract.Data.RAW_CONTACT_ID, rawcontactId)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, number)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE, String.valueOf(type));
ops.add(builder.build());