StorageException: в доступе отказано - PullRequest
0 голосов
/ 29 февраля 2020

Этот код приходит в блок catch, разрешение на хранение уже дано. Я не получаю проблему.

Вот код -

                try {
                boolean created = outputFile.createNewFile();
//Convert bitmap to byte array
                ByteArrayOutputStream bos = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.PNG, 0 /*ignored for PNG*/, bos);
                byte[] bitmapdata = bos.toByteArray();
//write the bytes in file
                FileOutputStream fos = new FileOutputStream(outputFile);
                fos.write(bitmapdata);
                fos.flush();
                fos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

, а вот исключение

2020-02-29 15:46:38.238 25650-25650/com.startech.kiva E/StorageException: Permission denied
    java.io.IOException: Permission denied
        at java.io.UnixFileSystem.createFileExclusively0(Native Method)
        at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:317)
        at java.io.File.createNewFile(File.java:1008)
        at com.google.firebase.storage.FileDownloadTask.processResponse(com.google.firebase:firebase-storage@@19.1.0:136)
        at com.google.firebase.storage.FileDownloadTask.run(com.google.firebase:firebase-storage@@19.1.0:227)
        at com.google.firebase.storage.StorageTask.lambda$getRunnable$7(com.google.firebase:firebase-storage@@19.1.0:1072)
        at com.google.firebase.storage.StorageTask$$Lambda$12.run(Unknown Source:2)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)

2020-02-29 15:46:38.238 25650-25650/com.startech.kiva E/com.ks.wallz.helpers.FirebaseDownloadHelper$1: An unknown error occurred, please check the HTTP result code and inner exception for server response.

Обновление только что проверил моя Android 10 имеет эту проблему, другие android 8 не имеют этой проблемы.

Ответы [ 3 ]

2 голосов
/ 29 февраля 2020

Добавьте эту строку в манифест под тегом приложения, и она должна работать - android:requestLegacyExternalStorage="true"

0 голосов
/ 29 февраля 2020

Добавьте этот код в свое разрешение на манифест.

<uses-permission
 android:name="android.permission.WRITE_EXTERNAL_STORAGE"
 android:maxSdkVersion="18" />
0 голосов
/ 29 февраля 2020

Я думаю, вам нужно добавить это:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...