首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android 11 /作用域存储强制执行

Android 11 /作用域存储强制执行
EN

Stack Overflow用户
提问于 2020-03-26 11:42:55
回答 1查看 2.1K关注 0票数 1

根据文件

使用作用域存储,除非您的应用程序需要访问存储在应用程序特定目录之外和MediaStore API可以访问的目录之外的文件。如果将特定于应用程序的文件存储在外部存储上,则可以通过将这些文件放置在外部存储的应用程序特定目录中,从而更容易地采用范围存储。这样,当启用作用域存储时,应用程序将保持对这些文件的访问。

在我的例子中,我使用以下方法创建一个文本文件:

代码语言:javascript
运行
复制
File root = new File(this.getExternalFilesDir(null), "sample");
    if (!root.exists()) {
        root.mkdirs();
    }
File file = new File(root, "sample.txt");

上面是在下面的位置创建一个文件(同时没有SD卡):

代码语言:javascript
运行
复制
/storage/emulated/0/Android/data/<package-name>/files/sample.txt

我正在对它执行写作操作。

以下是查询:

  1. 在引用上述文档的同时,如果对上述场景适用范围存储强制执行,则仍未清除?我是否需要实现作用域存储,或者它不需要任何更改就能工作,而安卓11的行为改变也不会产生任何影响。据我理解,
  2. 不会因为Android 11而影响范围内存储的强制执行。因为我没有这样的用例,即应用程序需要访问存储在应用程序特定目录之外的文件。这种理解正确吗?如果我想读取一个放在下载文件夹下的文件,我需要实现范围存储(
  3. ),因为我的应用程序希望访问存储在特定应用程序目录之外的文件。这样理解正确吗?
EN

回答 1

Stack Overflow用户

发布于 2021-10-03 01:49:13

当然,您可以使用File来创建和访问/存储/仿真器/0/Android/data/中的文件。据我所知,这些地点没有变化。我已经做过了。

要访问下载中的文件(是的),需要从我所读到的内容中定义范围存储。我还没有对此进行测试,但文档非常清楚,这是Android 11中的法律。这是一项糟糕的法律,但法律依然如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60866481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档