在Marshmallow的运行时权限的android文档中,以下代码注释指的是取消权限请求:
case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
我无法确定如何实际取消权限请求,以便grantResults数组返回长度== 0.请求权限的对话框只允许用户允许或拒绝请求,因此取消用户动作的请求并不明显。
然而,我跑了猴子,它设法至少完成了一次。
onRequestPermissionResult的文档表明可以取消。
如何重现grantResults的长度为0的情况,这表明它是一个取消的请求? (String [] grantResults不为null,但长度为0)
答案 0 :(得分:0)
正在测试另一个应用程序的运行时权限,并设法创建一个取消权限请求而不是简单。
在屏幕旋转的情况下,Android将取消当前正在显示的权限请求对话框,然后重新创建它。