当前位置: 首页 > 知识库问答 >
问题:

Android 11范围存储权限

欧阳炜
2023-03-14

我试图更好地理解一旦Android11版本发布,我将能够做什么。

我的应用程序使用environment.getExternalStorageDirectory()提供的图像文件路径创建相册,但使用Android11,我将无法直接访问文件。

根据Android开发人员的文档,他们最近引入了manage_external_storage权限,但我不明白如果添加了这个权限,我是否能够继续通过environment访问文件。

有人有主意吗???

谢谢

2021年1月更新

我在一个Android11虚拟设备上试用了我的应用程序,它似乎可以完美地工作,即使没有请求manage_external_storage权限!

有谁更了解Android文档吗???

共有1个答案

孔才
2023-03-14

根据Android开发人员的文档,他们最近引入了MANAGE_EXTERNAL_STORAGE权限,但我不明白如果添加了这个权限,我是否能够继续按环境访问文件。

是的,你会的。但是,请记住,如果您打算在Play Store(或许还有其他地方)上分发应用程序,您需要说明请求许可的理由。所以,除非您有非常好的理由使用manage_external_storage,否则请使用其他东西。

 类似资料:
  • 根据文件 使用范围存储,除非应用需要访问存储在应用特定目录之外和MediaStore API可以访问的目录之外的文件。如果将应用特定文件存储在外部存储上,可以将这些文件放置在外部存储上的应用特定目录中,从而更容易采用范围存储。这样,当启用作用域存储时,应用将保持对这些文件的访问。 在我的情况下,我创建一个文本文件使用以下: 上面是在下面的位置创建文件(但没有可用的SD卡): 我正在对它进行写操作。

  • 我的应用程序在10版以下运行良好,但Android11及更高版本不支持外部存储。我的选取器没有选取任何文档文件。但在清单中授予manageexternalstorage权限后,googleplaystore没有批准我的应用程序。如果您知道所有文件访问权限的替代解决方案,请提供帮助。

  • 问题内容: 我有很多不同提供商的IP范围。例如 我将此IP转换为int32: 我的任务: 通过用户IP地址查找提供者名称(例如192.168.2.20(3232236052)) 在MySQL中很简单: Redis怎么做? 问题答案: 这取决于您是否认为您的IP范围可以重叠。如果不是,则解决方案非常简单: 使用哈希的集合来存储提供者数据 使用zset索引范围的最大值 检索最大值大于IP的(唯一)范围

  • 问题内容: 我有以下代码: 我想尽可能地限制 err 的范围。我要面对的问题是,当我想将变量写入文件时,变量超出了范围。 处理这个问题的惯用方式是什么。我应该只重用变量 err 并在其他 if 块中检查它吗?像这样: 这可行,但对我来说可读性较差。 问题答案: 首先,不需要隔离变量。其次,您可以在if语句中进行简写分配,例如: 处理此特定示例的一种干净方法是将其放入自己的函数中并调用它:

  • 还有人发现范围存储几乎不可能工作吗?哈哈。 我一直在努力理解如何允许用户给我的应用程序写的权限,在应用程序的文件夹之外的文本文件。(假设允许用户编辑文档文件夹中的文件文本)。我已经设置了权限,并且可以确认应用程序具有该权限。但每次我试着 “我的清单”请求以下三个权限: 我也尝试过使用遗留存储: 但仍然遇到只读问题。 后来呢

  • 我有一个应用程序,为外部存储上的备份文件创建目录,并在用户退出应用程序时自动创建备份文件。每周创建一个备份文件,然后用最新信息覆盖一个备份文件。 无法在中找到备份文件,因为它们需要在用户重新安装应用程序后继续存在 我不能使用,因为它不是图像或视频 我无法使用在用户每次退出应用程序时要求他保存备份文件 那个么,如何使用新的作用域存储自动创建持久备份文件呢? (如果用户想要恢复其中一个备份文件,我还需