android - Android 11(R) - 以编程方式查找“每次询问”或“仅此一次”权限?
问题描述
如何找到以编程方式选择的麦克风权限选项是“每次询问”(仅这次)?
int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.RECORD_AUDIO);
如果通过“仅在使用应用程序时允许”或“每次询问”(仅这次)授予权限,上述代码将返回 true。
但我想区分以上两种类型的权限。
[更新] 用例:- 如果应用程序被授予“一次性权限”并且将应用程序移至后台超过 20 秒导致一次性权限被撤销。一旦权限被撤销,应用程序将重新启动活动。因此,我想在用户选择一次权限时发出警报(吐司或对话)。
解决方案
除了使用shouldShowRequestPermissionRationale
. 你不应该担心他们选择了什么,应该担心当你没有权限时如何处理并告诉用户你为什么需要它或者如果他们不授予它会发生什么
推荐阅读
- extjs - ExtJs 6 在 checkcolumn 侦听器调用上的访问记录
- python - Dict.setdefault 插入排序到列表中
- batch-file - 批处理文件 特定文件/快捷方式的副本
- mysql - 获取每个用户在特定月份的所有交易的总和
- java - Selenium 断言等于 Value1 或 Value2
- c++ - 多变量的一行输入
- ios - GMSAutocompleteViewController swift [GooglePlaces]
- javascript - 以 Html 形式连接用户输入并为其分配一个 ID,以便在 JavaScript 中提交
- java - JavaFx 布局方向
- python - 在 cpp 中嵌入 python:如何获取指向 python 函数(而不是 PyObject)的 C 指针?