Chcę zrobić zdjęcie z intencją kamery i zapisać ją w domyślnym folderze DCIM. Następnie chcę uzyskać ścieżkę/nazwę pliku, w którym przechowywane jest zdjęcie.Uzyskaj ścieżkę i nazwę pliku z wyniku zamiaru kamery
próbuję go z następującego kodu:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
Z tym kodem, aparat otwiera i po wziąłem jeden obraz zamyka i zapisuje obraz w domyślnym folderze obrazu (zwykle/DCIM/camera lub sdcard/dcim/camera ...)
ale jak mogę teraz uzyskać ścieżkę i nazwę pliku zrobionego zdjęcia? Próbowałem prawie wszystko w onActivityResult
próbowałem
String result = data.getData();
i
String result = data.getDataString();
i
String result = data.toURI();
i
Uri uri = data.getData();
e tc.
Przeanalizowałem ostatnie dwa dni, aby znaleźć rozwiązanie tego problemu, jest wiele artykułów w sieci i na stackoverflow, ale nic nie działa. Nie chcę miniatury, chcę tylko ścieżki (uri?) Do obrazu, który zrobiła kamera.
Dziękuję za wszelką pomoc
EDIT: Kiedy próbuję:
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);
nie przechowuje obraz jako test.jpg ale z normalnym nazwy obrazu 2011-10-03 .. ... jpg (ale to też jest ok, potrzebuję tylko ścieżki do obrazu, nie ma znaczenia, jak się nazywa).
poważaniem
EDIT Ponownie
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);
Kiedy próbuję to, przechowuje obraz do prawego folderu i o podanej nazwie (np test111111.jpg). Ale jak mogę teraz dodać ścieżkę do pliku onActivityResult?
ciebie Allready znać ścieżkę ... od czasu utworzenia pliku. możesz zachować plik lub ścieżkę jako zmienną członkowską swojej Aktywności –