У меня есть строка filename, которая представляет собой путь к папке с картинками на внешнем хранилище для Android-систем. Я использую строку для сохранения изображения с opencv. Затем я хочу отправить совместное намерение поделиться сохраненным изображением с другими приложениями.Android: Файл не найден на внешнем хранилище
Highgui.imwrite(filename, Image);
Log.d("WRITEPATH", filename);
В LogCat я получаю за WRITEPATH:
/storage/emulated/0/Pictures/MyImages/Image1.jpg
Тогда я преобразовать Filepath-строку в URI :
Uri lastsavedUri=Uri.parse(new File(filename).toString())
И отправить мою долю намерения:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, SavedImages);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "Share images to.."));
SavedImages является ArrayList, содержащих несколько lastsavedUri
К сожалению, нет приложения может найти изображения, которые я пытаюсь поделиться. Например Gmail падает после нажатия отправить почту и получаю ошибку LogCat
10-07 10: 19: 47,265: Е/Gmail (26264): Не удалось получить ориентацию миниатюр/хранения/эмулировать/0/Фотографии/MyImages/Image1.jpg 10-07 10: 19: 47.265: E/Gmail (26264): java.io.FileNotFoundException: No поставщик контента: /storage/emulated/0/Pictures/MyImages/Image1.jpg
Почему я могу сохранить свои изображения, используя строку filepath, но почему я не могу поделиться сохраненными изображениями? Является ли путь неправильным и как мне получить правильный путь к моим сохраненным изображениям?
Закрывает ли файл 'Highgui.imwrite' дескриптор файла? –
Что такое 'SavedImages' в вашем намерении дополнительный поток? – GrIsHu
Я не уверен на 100%, если Highgui.imwrite закрывает дескриптор файла. Я не мог найти информацию на сайте opencv. Можно ли закрыть дескриптор файла с помощью инструментов Android? – wildcat