【发布时间】:2022-11-03 07:53:26
【问题描述】:
我的目标是针对 Android 13 (API 33) 的 Android 应用
WRITE_EXTERNAL_STORAGE 权限似乎在 API 33 (即 Android 12 及更低版本)下运行良好,但在 Android 13 上运行应用程序时不会出现 WRITE_EXTERNAL_STORAGE 的运行时权限弹出窗口。
我的 Android 应用在应用的私有存储中创建了一个密钥库文件。
Android 13 的行为更改提到了这一点:
如果您的应用面向 Android 13,您必须请求一个或多个新的 权限而不是 READ_EXTERNAL_STORAGE。
新的权限是:
- 图像和照片:READ_MEDIA_IMAGES
- 视频:READ_MEDIA_VIDEO 音频
- 音频文件:READ_MEDIA_AUDIO
我在官方文档中没有找到任何有关此的信息。 该文档只关注媒体文件,没有任何关于其他文件类型的信息。
https://developer.android.com/about/versions/13/behavior-changes-13#granular-media-permissions
【问题讨论】:
-
My Android app creates one keystore file in app's private storage.为此不需要任何许可。 -
最好阅读您的链接:
If your app targets Android 13 or higher and needs to access media files that other apps have created,因此,如果您想在外部存储上创建文件,您仍然应该请求写入外部存储权限。我不知道为什么没有更多的用户交互。但更重要的是:您是否获得外部存储的写访问权限(不是应用程序私有)? -
相同。所以我的应用程序出现了一个巨大的错误,因为创建文件的场景检查了权限并且用户无法进入下一步
-
检查这个答案,因为它有一些优点:stackoverflow.com/a/73630987/8929068
标签: android android-manifest android-permissions runtime-permissions android-13