Как добавить изображение контакта в ContentProviderOperation?

С помощью приведенного ниже фрагмента я могу синхронизировать все свои контакты с REST API. Это здорово, и все работает нормально. Я могу добавлять людей по имени и номеру телефона.

К сожалению, сейчас я безуспешно пытаюсь добавить изображение с SDCard (я получаю Bitmap или Drawable)

Может ли кто-нибудь указать мне способ достижения этой цели или дать мне несколько подсказок?

Большое спасибо !

вот пример кода, который я использую в настоящее время:

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);
5
задан Waza_Be 12 December 2011 в 12:05
поделиться