У меня проблемы с сохранением растрового изображения во внешнее хранилище.
Я также пытался сохранить текстовый файл, но это также не сработало.
Мой код растрового изображения следующий:
//filename ends with .png
private void SaveBitmap(Bitmap bitmap, String fileName) {
//Get Pictures folder
File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
//Create new folder and mkdir it if it does not exist.
File dir = new File(root.getAbsolutePath() + "/ReCorder");
if (!dir.exists()) {
dir.mkdirs();
}
File file = new File (dir, fileName);
try {
//Make sure file exists
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Это не работает: когда я запускаю его, я получаю (в строке file.createNewFile ();):
java.io.IOException: No such file or directory
Когда я удаляю file.createNewFile ();строка, я получаю:
java.io.FileNotFoundException: /storage/emulated/0/Pictures/ReCorder/test.png
Я также удостоверился, что у меня есть разрешение в AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Для отладки я использую встроенный эмулятор в AndroidStudio для Nexus 5X.
Буду очень признателен за помощь в решении моей проблемы.Заранее спасибо:)