首页 > 解决方案 > Android 11(R) - 以编程方式查找“每次询问”或“仅此一次”权限?

问题描述

如何找到以编程方式选择的麦克风权限选项是“每次询问”(仅这次)?

int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.RECORD_AUDIO);

如果通过“仅在使用应用程序时允许”或“每次询问”(仅这次)授予权限,上述代码将返回 true。

但我想区分以上两种类型的权限。

[更新] 用例:- 如果应用程序被授予“一次性权限”并且将应用程序移至后台超过 20 秒导致一次性权限被撤销。一旦权限被撤销,应用程序将重新启动活动。因此,我想在用户选择一次权限时发出警报(吐司或对话)。

标签: androidxamarin.androidandroid-11

解决方案


除了使用shouldShowRequestPermissionRationale. 你不应该担心他们选择了什么,应该担心当你没有权限时如何处理并告诉用户你为什么需要它或者如果他们不授予它会发生什么


推荐阅读