У меня есть изображение, созданное с помощью FileOutputStream
, и я пытаюсь сохранить его в галерее. Я искал ответы на переполнение стека и везде, и у меня ничего не работает.
Мой код:
File path = MainActivity.this.getExternalFilesDir("ComputerScreenshots");
FileOutputStream ops = new FileOutputStream(path + "/Computer.png");
Приведенный выше код сохраняет изображение в /storage/emulated/0/Android/data/com.example.computer/files/ComputerScreenshots/Computer.png
Как сохранить в галерею?
Не так. Но не страшно. буду пробовать другие способы спасибо большое дружище
Я думаю, что приведенный ниже код поможет вам.
File path = new File( Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DCIM), "ComputerScreenshots");
Проверить, существует ли ваш каталог или нет? если нет то сделай.
if (!path.exists())
path.mkdir()
Если вы хотите сохранить изображение в каталоге камеры, замените ComputerScreenshots на Camera.
подожди я отправлю
java.io.FileNotFoundException: /storage/emulated/0/DCIM/ComputerScreenshots/Computer.png: open failed: ENOENT (No such file or directory)
Я поменял на Camera
и получил java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/Computer.png: open failed: EACCES (Permission denied)
У вас есть каталог создан?
Нет, именно поэтому я попытался сохранить на камеру, и мне было отказано в доступе.
Я хочу сохранить его в камеру. И я получил доступ, когда добавил android:requestLegacyExternalStorage = "true"
Но теперь я не нахожу изображение в каталоге камеры
Вы используете разрешение во время выполнения?
Теперь я получил разрешение. Но у меня новая проблема. Я могу сохранить изображение. Работает, но когда открываю галерею, не находит изображение' только когда подключаю телефон к компу, нахожу его в галерее (из проводника)
Почему я могу найти изображение только через компьютер в проводнике сотового телефона?
if (!path.exists()) path.mkdir()
Проверьте, создан ли он: if (!path.exists()) if ( !path.mkdir()){ Toast(..sorry could not create directory...); return;}
Обсуждение касается невозможности создать файл. Но каталог не может быть создан для начала. Знай свою проблему!
Это работает сейчас?