android - 管理员不允许更改时的Android RequestPermission
问题描述
我有一个场景,Android 应用程序权限由管理员通过 MDM 设置,设备用户无法更改。
如果检查权限并拒绝权限会发生什么情况。然后代码请求权限,用户选择允许权限。
如果管理员将权限设置为拒绝,会发生什么?
是否会通过另一个对话框自动通知用户?
onRequestPermissionsResult 是否会在传递的 grantResults 数组中声明权限被拒绝?
还是发生了其他事情。我没有可以测试它的设置。希望有人可以解释这种情况的结果
解决方案
您可能使用的一种方法是仅在用户已经拒绝该权限请求时才提供解释。Android 提供了一个实用方法,
shouldShowRequestPermissionRationale()
如果true
用户先前拒绝了请求,则返回false
,如果用户拒绝了权限并在权限请求对话框中选择了不再询问选项,或者设备策略禁止该权限,则返回.
因此,如果您请求许可,该许可将立即被拒绝——用户不会看到任何许可提示。如果shouldShowrequestPermissionRationale()
返回 false,则要么是用户永久拒绝了您的权限,要么是设备策略永久拒绝了您的权限。
推荐阅读
- hadoop - 仅在“-Dorg.apache.sqoop.splitter.allow_text_splitter=true”属性作为参数传递的情况下才允许为文本索引列生成拆分
- c# - 用于按下按钮问题的 C# 可调热键功能
- llvm - 在一个头文件中创建具有 extern 的 GlobalVariable
- azure - 如何在 MVC 5 应用程序的 azure 自动缩放环境中实现 redis 会话提供程序?
- php - 在动态数据库加载代码中包含静态 html 图像
- r - 使用“for 循环”在 R 中运行一系列线性回归
- c# - 在 C# 中调用 COM 方法会引发无法解释的 COMException,在 C++ 中可以正常工作
- r - 如何使用 For 循环向 data.frame 中的所有行添加常量值
- git - 无法在 github 上推送一些 refs
- javascript - 构造函数的实例可以继承原型桶中未定义的成员吗?