Desidero creare un'immagine con l'intento della fotocamera e salvarla nella cartella DCIM predefinita. Quindi voglio ottenere il percorso/nome del file in cui è memorizzata l'immagine.Ottieni percorso e nome file dalla telecamera Risultato intento
sto provando con il seguente codice:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
Con questo codice, la fotocamera si apre e dopo ho preso una foto si chiude e salva l'immagine nella cartella di immagine di default (di solito/DCIM/fotocamera o sdcard/dcim/fotocamera ...)
ma come posso ottenere il percorso e il nome del file della foto scattata ora? Ho provato quasi tutto nel onActivityResult
ho provato
String result = data.getData();
e
String result = data.getDataString();
e
String result = data.toURI();
e
Uri uri = data.getData();
e tc
Ho ricercato gli ultimi due giorni per trovare una soluzione per questo, ci sono molti articoli sul web e sullo stackoverflow ma niente funziona. Non voglio una miniatura, voglio solo il percorso (uri?) Per l'immagine che la fotocamera ha scattato.
Grazie per tutto l'aiuto
EDIT: Quando provo:
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);
non memorizza l'immagine come test.jpg ma con il normale nome dell'immagine 2011-10-03 .. ... jpg (ma va bene anche io, ho solo bisogno del percorso per l'immagine, non importa quale sia il nome).
migliori saluti
modificare nuovamente
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);
Quando provo questo, memorizza l'immagine nella cartella giusta e con il nome dato (ad esempio test111111.jpg). Ma come posso ottenere ora il percorso file in onActivityResult?
si allready conosci il percorso ... da quando hai creato il tuo file. puoi mantenere il file o il percorso come variabile membro della tua attività. –