【发布时间】:2021-08-20 03:32:42
【问题描述】:
我正在开发一个文件应用程序,在定位到 API-30 之后,我不仅需要媒体存储权限 (WRITE_EXTERNAL_STORAGE) 的权限,还需要成为外部存储管理器 (MANAGE_EXTERNAL_STORAGE)。为此,我必须向客户展示 2 个不同的系统对话框。第一个是媒体存储权限对话框:
/* Code to show this permission */
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.MANAGE_EXTERNAL_STORAGE},
1);
然后我必须显示以下内容以获得外部存储管理器权限:
/* Code to show this permission */
final Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
final Uri uri = Uri.fromParts("package", activity.getApplicationContext().getPackageName(), null);
intent.setData(uri);
activity.startActivity(intent);
在 android 系统中是否有一些东西可以向用户显示一个将所有存储权限捆绑在一起的对话框,或者任何可以启动的 android 系统流程来引导用户一起完成这两个权限?拥有两个不同的流程似乎需要由应用程序拥有大量的冗余逻辑。我找不到类似的东西,所以在这里问我是否遗漏了什么。
【问题讨论】:
标签: android android-11