5
通过下面的代码片段,我可以将所有联系人与REST API同步。 这很棒,一切正常。我可以添加姓名和电话号码。如何在ContentProviderOperation中添加联系人图片?
不幸的是,我现在正在努力没有成功添加从SD卡的图片(我得到一个位图或可绘制)
有人能指出我的方式来实现这一目标或者给我一些线索?
非常感谢!
这里是示例代码我目前使用的:
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE, null)
.withValue(RawContacts.ACCOUNT_NAME,null)
.build());
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex)
.withValue(Data.MIMETYPE,Phone.CONTENT_ITEM_TYPE)
.withValue(Phone.NUMBER, "9X-XXXXXXXXX")
.build());
ops.add(ContentProviderOperation.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex)
.withValue(Data.MIMETYPE,StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, "Mike Sullivan")
.build());
ContentProviderResult[] res = getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
完美!非常感谢! –
ContactsContract.CommonDataKinds.Photo.PHOTO是可读的等同于ContactsContract.CommonDataKinds.Photo.DATA15 – Roel