【问题标题】:Do I have to check READ_EXTERNAL_STORAGE before checking if folder exists or listing its subfolders在检查文件夹是否存在或列出其子文件夹之前,我是否必须检查 READ_EXTERNAL_STORAGE
【发布时间】:2021-03-12 21:08:49
【问题描述】:

我知道读取应用程序存储之外的文件需要 READ_EXTERNAL_STORAGE,但是文件夹呢?官方文档(https://developer.android.com/reference/android/Manifest.permission#READ_EXTERNAL_STORAGE)不是很清楚,其他在线资源也没有帮助。在检查某些特定文件夹是否存在以及它有哪些子文件夹之前,我是否必须检查此权限?

【问题讨论】:

  • 你读过这个链接吗? developer.android.com/training/data-storage
  • 检查文件夹是否存在通常不需要权限。要列出文件夹,您需要在 Android 11 以下的设备上获得权限。但是……您可以自己轻松地检查这一切。
  • 是的,我读了几次。没有读取外部文件夹,只是读取外部文件。
  • 我只讲了存在和列表。与阅读无关。
  • 好吧,我的主要兴趣是检查文件夹是否存在以及它包含哪些子文件夹,但我不介意更全面地回答是否需要 READ_EXTERNAL_STORAGE 来获取其他信息(起始日期、更改日期、可见性)。我不想避免请求许可,我只是想确保在真正需要之前提出请求。

标签: android android-permissions


【解决方案1】:

正如@blackapps 建议的那样,在 API 23 设备上检查是否存在任何文件夹总是无需许可。列出内容(子文件夹)比较复杂:

  • root 及其子文件夹 (/):无需权限即可工作
  • 用户存储根目录及其子文件夹(/storage/emulated/0、/sotrage/sdcard1、...):需要权限

我还是想知道更普遍的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 2014-06-10
    • 2014-04-04
    • 2020-05-01
    相关资源
    最近更新 更多