Roh*_*hit 80 android android-manifest android-permissions runtime-permissions android-13
我的 Android 应用程序的目标版本是 Android 13 (API 33)
WRITE_EXTERNAL_STORAGE 权限似乎在 API 33(即 Android 12 及以下版本)下运行良好,但在 Android 13 上运行应用程序时,不会出现 WRITE_EXTERNAL_STORAGE 的运行时权限弹出窗口。
我的 Android 应用程序在应用程序的私有存储中创建一个密钥库文件。
Android 13 的行为更改提到了这一点:
如果您的应用以 Android 13 为目标平台,则必须请求一项或多项新权限,而不是 READ_EXTERNAL_STORAGE。
新的权限是:
我在官方文档中没有找到任何关于此的信息。该文档仅关注媒体文件,没有提及其他文件类型。
https://developer.android.com/about/versions/13/behavior-changes-13#capsular-media-permissions
use*_*940 76
TLDR:你不知道。
来自谷歌的官方文档:
“如果您的应用以 Android 11 为目标平台,则 WRITE_EXTERNAL_STORAGE 权限和 WRITE_MEDIA_STORAGE 特权权限将不再提供任何额外访问权限。”
因此,实际上,如果您在 Android 11 或更高版本上请求 WRITE_EXTERNAL_STORAGE,您将不会请求任何内容。这就是 Android 迁移到范围存储的全部要点,它有效地防止应用程序读取或写入其他应用程序的存储目录,除非它们正在访问特定的文件类型(例如媒体,使用您提到的权限)或被授予特殊的文件管理器Google 自己的权限。有关范围存储的更多信息,请参阅这篇写得很好的文章,但 TLDR 安全性和应用程序卸载的剩余文件是 Google 这样做的主要原因。
因此,如果您确实想写入文件,请确保仅写入应用程序的指定存储目录,在这种情况下,您根本不需要任何权限,或者如果您确实需要写入应用程序不需要的目录没有从 Google 获得文件管理器权限(如何获得该权限)
| 归档时间: |
|
| 查看次数: |
113693 次 |
| 最近记录: |