我的 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
android android-manifest android-permissions runtime-permissions android-13
我正在寻找一种简单的方法来查询和请求 .Net Maui 中的多个权限。我还需要请求蓝牙权限,但据我所知,毛伊岛没有内置的蓝牙权限。我在 2022 年最后一次听到的消息是,毛伊岛路线图中没有蓝牙,我觉得这是相当短视的。
我读了很多文章、问答、文档、观看了视频,并做了很多其他研究来解决这个问题。
到目前为止,我可以检查并请求个人权限,但我正在寻找比重复更干燥的东西:
PermissionStatus status = await Permissions.CheckStatusAsync<Permissions.XXX>();
if (status != PermissionStatus.Granted){
status = await Permissions.RequestAsync<Permissions.XXX>();
}
Run Code Online (Sandbox Code Playgroud)
对于每一个许可。我需要多个权限,因此我的检查很快就会失控。
顺便说一句,根据 Google Play 的要求,我的目标是 Android 13.0。
我知道这要求很高,但我迷失在所有建议中,其中许多建议不起作用,所以帮助解决所有这些问题就太好了!