管理员不允许更改时的Android RequestPermission

Posted

技术标签:

【中文标题】管理员不允许更改时的Android RequestPermission【英文标题】:Android RequestPermission when administrator does not allow them to be changed 【发布时间】:2019-10-15 08:59:07 【问题描述】:

我有一个场景,android 应用程序权限由管理员通过 MDM 设置,设备用户无法更改。

如果权限被检查并且权限被拒绝时会发生什么。然后代码请求权限,用户选择允许权限。

如果管理员将权限设置为拒绝,会发生什么?

是否会通过另一个对话框自动通知用户?

onRequestPermissionsResult 是否会在传递的 grantResults 数组中声明权限被拒绝?

或者发生了其他事情。我没有可以测试它的设置。希望有人可以解释这种情况的结果

【问题讨论】:

【参考方案1】:

根据Explain why the app needs permission documentation:

您可能使用的一种方法是仅在用户已经拒绝该权限请求时才提供解释。 Android 提供了一个实用方法 shouldShowRequestPermissionRationale(),如果用户之前拒绝了请求,则返回 true,如果用户拒绝了权限并选择了不询问,则返回 false权限请求对话框中的再次选项,或者如果设备策略禁止该权限

因此,如果您请求权限,该权限将立即被拒绝 - 用户不会看到任何权限提示。如果 shouldShowrequestPermissionRationale() 返回 false,则可能是用户永久拒绝了您的许可,或者设备政策永久拒绝了您的许可。

【讨论】:

以上是关于管理员不允许更改时的Android RequestPermission的主要内容,如果未能解决你的问题,请参考以下文章

关于android8.1实现多个app升级时的注意事项

Android:按下菜单项时的背景颜色

APK安装时的过滤方式:包名白名单证书认证

Android Fragment 和 Activity 在方向更改时的行为

Git - Android Studio不再允许我提交更改并推送到GitHub

创建 Azure API 管理策略时的 XML 语法帮助