【问题标题】:Save File on internal storage (document folder) permission denied将文件保存到内部存储(文档文件夹)权限被拒绝
【发布时间】:2018-04-24 15:28:30
【问题描述】:

我尝试在智能手机上保存文件。由于我没有安装 SD 卡,我必须将数据保存到我的内部存储器中。用户以后必须可以轻松访问数据,因此我想将数据存储在易于访问的位置。 以下变体可以正常工作,但不易访问

File root = new File(getApplicationContext().getFilesDir(),"NAME");
        if(!root.exists()) root.mkdirs();

在此变体中,我收到拒绝访问的消息。

Environment.DIRECTORY_DOCUMENTS

我还尝试了以下权限:

READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE

有谁知道如何访问这些文件夹?根目录也够了。

谢谢!

【问题讨论】:

  • Since I have no SD card installed I must save the data to my internal memory. 。不对。您也可以使用 getExternalStorageDirectory() 和变体 getExternalStoragePublicDirectory()。如今,每台设备都有外部存储空间。
  • In this variant, I get the message that the access was denied. Environment.DIRECTORY_DOCUMENTS。那不是变种。显示完整代码,以便我们查看您的尝试。
  • also tried the following permissions: READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE。还不够,因为创建目录被认为是 WRITE。
  • File root = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS),"OBDTool"); if(!root.exists()) root.mkdirs();
  • 没有这样的文件或目录。我不明白!我也已经拥有写权限了

标签: java android permissions storage


【解决方案1】:

除了在 Android 6+ 的清单中请求读取和写入权限外,您还应该添加代码让用户确认这些权限。

Google 获取运行时权限。

今年你在这个问题上排名第 1258。

【讨论】:

    猜你喜欢
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多