【问题标题】:Not able to create a new folder in device's Documents folder even after giving runtime permissions即使在授予运行时权限后也无法在设备的 Documents 文件夹中创建新文件夹
【发布时间】:2018-05-21 06:19:58
【问题描述】:

在尝试了很多之后问这个问题。我检查了很多 ob 博客和问题。

当我尝试在设备的 doucments 文件夹中创建新文件夹时,即使在授予包括运行时权限在内的所有权限后,它也不会创建该文件夹。

这是我创建新文件夹的代码 -

var path = (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS))
        var directory = path.absolutePath + "/justCheck"

        var file = File(directory)
        if(!file.exists()){
            file.createNewFile()
        }

我正在使用 marshmallow 操作系统检查 Android 设备。这是我在 Manifest 中的权限 -

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

另外,我已授权运行时权限。

我做错了什么吗?为什么不创建旧的?

【问题讨论】:

    标签: android kotlin runtime-permissions


    【解决方案1】:

    你必须创建一个文件夹而不是一个文件:

    file.mkdirs();
    

    【讨论】:

    • 谢谢。如果我想创建一个像 name.txt 这样的空文档呢?
    • 伙伴努力...无论如何我用它在新创建的目录下创建文件 File(File dir, String name) {
    • 它没有被创建,这就是我问一个问题的原因。我错过了一些东西。它清楚地写在我关于我尝试过的问题上。可能是您没有正确阅读我的问题。
    • 对我来说它有效。首先尝试使用绝对路径 mAppCtx.getFilesDir() + "/justCheck",因为这不需要任何特殊权限。如果这可行,那么您显然在处理权限方面做错了
    猜你喜欢
    • 2019-06-18
    • 2011-09-01
    • 1970-01-01
    • 2013-01-28
    • 2017-09-05
    • 2015-01-04
    • 1970-01-01
    • 2015-05-01
    • 2018-02-08
    相关资源
    最近更新 更多