Con lo snippet di seguito, sono in grado di sincronizzare tutti i miei contatti con un'API REST. È grandioso e tutto funziona bene. Posso aggiungere persone con nome e numero di telefono.Come posso aggiungere un'immagine di contatto all'interno di ContentProviderOperation?
Purtroppo, Ora sto cercando senza successo per aggiungere un'immagine da sdcard (ho un bitmap o un Drawable)
qualcuno mi può indicare un modo per raggiungere questo o darmi qualche indizio?
Grazie mille!
Ecco il codice di esempio che attualmente uso:
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);
Perfetto! Grazie mille! –
ContactsContract.CommonDataKinds.Photo.PHOTO è l'equivalente leggibile per ContactsContract.CommonDataKinds.Photo.DATA15 – Roel