繁体   English   中英

READ_EXTERNAL_STORAGE 是否可以根据情况在 Android 11 中提供不同程度的访问权限?

[英]Is it possible for READ_EXTERNAL_STORAGE to give varying degrees of access, in Android 11 depending on the circumstance?

我有两个应用程序,它们都做不同的事情,但都针对 sdk 版本 30,并在清单和运行时请求 READ_EXTERNAL_STORAGE 权限。 两者都是全新的,之前没有安装在设备上。

使用运行 Android 11 的三星手机,然后我检查了两个应用程序的权限设置并发现了这种差异:

  • App #1 的权限设置为“仅允许访问媒体”,由于最近对存储访问的更改,这是我所期望的。 但是,App #2 的权限设置为“允许访问管理所有文件”。
  • 当 App #1 提示用户读取权限时,系统显示的消息是“允许 ____ 访问您设备上的照片和媒体?” 但 App #2 会提示“允许 ____ 访问您设备上的照片、文件和媒体?”

这可能吗? 应用程序 #2 绝对不会请求 MANAGE_EXTERNAL_STORAGE,它们都只请求有效的读取权限。 但是 App #2 对系统文件管理器具有相同的权限,这显然是不对的。

难道 App #2 使用了一个使用 MANAGE_EXTERNAL_STORAGE 的库? 您可以在构建后比较两个应用程序的 AndroidManifest。 它们并不总是与您为应用程序编写的 AndroidManifest 相同。 库可以定义自己所需的权限,并将合并到最终的 AndroidManifest 中

发现问题。 应用程序 #2 是使用 androiddeployqt 构建的,出于某种原因,它覆盖了我指定的目标 sdk 版本,因此它实际上是一个 sdk 级别 28 应用程序。 我强迫它以正确的版本为目标,现在它按预期运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM