Ваш код работает правильно, поэтому сохраните файл изображения на устройстве, но он сохранит его в результате пути, возвращенного здесь:
mFile = getActivity().getExternalFilesDir(null);
Возможно, указывает внешний файл dir в myapp / data / data, которая является областью данных «песочницы», зарезервированной для файлов, которые ваше приложение записывает во внешнее хранилище. Это не то же самое, что папка «Загрузки», в которой файлы сохраняются в общей области данных (вне песочницы) на телефоне.
Если вы хотите сохранить в папке «Загрузки», вам, вероятно, придется запишите свои изображения на внешний веб-сайт, затем передайте путь https: // к ViewIntent, который будет отображать ваше изображение в сеансе браузера, и дайте вам возможность загрузить изображение оттуда.
В вашем коде , у вас есть:
mFile = getActivity().getExternalFilesDir(null);
Но я не вижу, где mFile объявлен в Image Reader. В другом классе вы определяете его как файл. если mFile - это файл, то вы, вероятно, должны делать что-то вроде:
String mPath = getActivity().getExternalFilesDir(null);
File mFile = new File(mPath + "/temp.jpg");
// but I don't think you need to create a file, just use the path
ImageSaver saver = new ImageSaver(mCapturedImage,mPath);