Buenas Gabriel,
Gracias por responder. Al final averigué, que el problema está en que cuando llamo al startactivityforresult con un intent hacía la cámara, los extras que yo envió se envían ahi, y no llegan al onactivity result de la otra clase para tratarlos.
Lo que hice finalmente, fue crearme una variable estática tipo ImageView en la clase que contiene el onactivityresult, y cada vez que el usuario presione el botón "sacar foto", accedo a ficha variable y la igualo con el ImageView actual, para de ese modo tener la referencia y funciona sin ningún problema.
En código:
En la activity me cree las siguientes variables:
public static Activity myActivity;
public static ImageView imagen;
y realicé myActivity=this;
En la clase donde trato el json, cuando el usuario pica en el botón añadir imagen, puse lo siguiente:
Intent i = new intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
Actividad.imagen=photo;
Actividad.myActivity.startActivityForResult(i, FOTO_GALLERY);
De este modo, envío la referencia del ImageView actual al OnActivityResult de la Actividad.
Espero haberme explicado.
Un saludo!