如果all调用ActivityCompat.requestPermissions(),则OS会显示一个带有Deny或Permit按钮的对话框。还有一个永远不会再显示这个复选框。
然而,我无法看到应用程序知道用户是否勾选了此框 - 在onRequestPermissionsResult()中,如果用户单击“拒绝”,则grantResults参数为PERMISSION_DENIED,如果用户在单击“拒绝”之前勾选了复选框,则。 那么无论如何,应用程序可以找出用户是否不想再次看到该对话框?
答案 0 :(得分:4)
您可以使用ActivityCompat.shouldShowRequestPermissionRationale() - 在少数情况下会返回false
:
如果您曾经要求获得许可,可以将此与共享偏好结合使用,您可以在致电requestPermissions()
时有效确定他们是否真正看到了对话框。