Esta es la forma en que funciona en 2.2 (diferente que en versiones anteriores). Cuando se inicia el intento
String fileName = "temp.jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(intent, CAPTURE_PICTURE_INTENT);
es necesario recordar mCapturedImageURI
.
Cuando se captura la imagen, en la que onActivityResult()
uso URI para obtener la ruta del archivo:
String[] projection = { MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(mCapturedImageURI, projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String capturedImageFilePath = cursor.getString(column_index_data);
ACTUALIZACIÓN: en los nuevos dispositivos Android que no tendría que MediaStore.EXTRA_OUTPUT, sino que más bien deducir imagen/vídeo URI de data.getData() recibido de onActivityResult (..., datos de intención), como muy bien se describe en
Android ACTION_IMAGE_CAPTURE Intent
Sin embargo, puesto que esta parte está sujeto a la adaptación del fabricante, es posible que aún encuentre teléfonos donde el enfoque "antiguo" puede ser útil.
por favor, poner todo el código dentro de los cuadros de texto "código", que hace que la lectura de su código mucho más fácil, por lo que podemos ser capaces de responder a sus preguntas – Samuel