Android: сбой сохранения растрового изображения на внешнее хранилище - PullRequest
0 голосов
/ 26 декабря 2018

У меня проблемы с сохранением растрового изображения во внешнее хранилище.

Я также пытался сохранить текстовый файл, но это также не сработало.

Мой код растрового изображения следующий:

//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.

Буду очень признателен за помощь в решении моей проблемы.Заранее спасибо:)

...