【问题标题】:StorageException: Permission deniedStorageException:权限被拒绝
【发布时间】:2020-02-29 10:21:42
【问题描述】:

这段代码来catch block,已经给了存储权限。我没有得到这个问题。

这里是代码 -

                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 没有这个问题。

【问题讨论】:

标签: android firebase firebase-storage


【解决方案1】:

将此行添加到应用程序标签下的清单中,它应该可以工作 - android:requestLegacyExternalStorage="true"

【讨论】:

    【解决方案2】:

    将此代码添加到您的清单权限。

    <uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     android:maxSdkVersion="18" />
    

    【讨论】:

    • 我想我可以帮助你
    • 你看到他的问题了吗?“存储权限已被授予。”
    • 手机也有存储权限
    猜你喜欢
    • 2015-08-30
    • 1970-01-01
    • 2018-07-19
    • 2018-02-05
    • 2015-04-28
    • 2018-02-03
    • 2012-04-14
    相关资源
    最近更新 更多