Quiero hacer una foto con la intención de la cámara y guardarla en la carpeta DCIM predeterminada. Luego quiero obtener la ruta/nombre del archivo donde se almacena la imagen.Obtener ruta y nombre de archivo del resultado de intento de cámara
que estoy tratando con el siguiente código:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
Con este código, la cámara se abre y después de haber tomado una imagen que se cierra y guarda la imagen en la carpeta de imágenes por defecto (normalmente/DCIM/cámara o sdcard/dcim/cámara ...)
pero ¿cómo puedo obtener la ruta y el nombre de archivo de la imagen tomada ahora? He intentado casi todo en onActivityResult
Probé
String result = data.getData();
y
String result = data.getDataString();
y
String result = data.toURI();
y
Uri uri = data.getData();
correo tc.
Investigué los últimos dos días para encontrar una solución para esto, hay muchos artículos en la web y en stackoverflow pero nada funciona. No quiero una miniatura, solo quiero la ruta (uri?) A la imagen que ha tomado la cámara.
Gracias por cualquier ayuda
EDIT: Cuando intento:
path=Environment.DIRECTORY_DCIM + "/test.jpg";
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
que no almacena la imagen como test.jpg pero con el nombre de imagen normal .. 2011-10-03 ... jpg (pero eso está bien también, solo necesito el camino a la imagen, no importa cuál es el nombre).
Saludos
EDITAR Una vez más
path=Environment.getExternalStorageDirectory().getPath() + "/DCIM/Camera/";
File file = new File(path,"test111111111.jpg");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
Cuando intento esto, se almacena la imagen en la carpeta correcta y con el nombre dado (por ejemplo test111111.jpg). Pero, ¿cómo puedo obtener el archivo ahora en onActivityResult?
allready conoce el camino ... desde que creas tu archivo. puede mantener el archivo o la ruta como una variable miembro de su Actividad –