Cómo actualizar la imagen de contacto usando la operación del proveedor de contacto.

El siguiente código se usa para actualizar la imagen pero arroja una excepción de valor incorrecto o ilegal. Cualquier cuerpo puede resolver esto.

Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
File f = new File(picturePath);
Uri photoUri = Uri.fromFile(f);

añadir a la lista de matriz de codificación

ops.add(ContentProviderOperation
                            .newUpdate(ContactsContract.Data.CONTENT_URI)
                            .withSelection(
                                    ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?",
                                    new String[] {
                                            contactid,
                                            ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE })
                            .withValue(Photo.Photo_Uri,photoUri ).build());

Respuestas a la pregunta(2)

Su respuesta a la pregunta