Я бы хотел, так как заголовок предлагает найти изображение через Android Проводник. Я фотографирую и сохраняю данные на внешнем хранилище, но эта часть памяти доступна только для самого приложения.
Как правило, перед началом работы с камерой у меня есть следующий код:
public File getPhotoFile(Contact contact, Context context) {
File externalFilesDir = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES);
if (externalFilesDir == null) {
return null;
}
File f = new File(externalFilesDir, contact.getPhotoFilename());
return f;
}
Метод в Contact
классе getPhotoFilename()
:
public String getPhotoFilename() {
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
return "IMG_" + this.getId() + "_" + timeStamp + ".jpg";
}
И в действии:
cameraButton.setOnClickListener((View v) -> {
File f = getPhotoFile(newContact, this);
Uri photoURI = FileProvider.getUriForFile(this,
"com.example.email.fileprovider",f);
captureImage.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(captureImage, REQUEST_TAKE_PHOTO);
});
Я отображаю полный путь, как это:
Log.i("PATH", filePath); //file path is member variable which just holds f.getAbsoluthPath();
Что я получаю в выводе:
/storage/emulated/0/Android/data/com.example.email/files/Pictures/IMG_0_20200428_001544.jpg
Я пытался найти это изображение в File Device Explorer, но безуспешно.