取消运行时权限请求?

时间:2016-02-10 23:18:10

标签: java android android-6.0-marshmallow

在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)

1 个答案:

答案 0 :(得分:0)

正在测试另一个应用程序的运行时权限,并设法创建一个取消权限请求而不是简单。

在屏幕旋转的情况下,Android将取消当前正在显示的权限请求对话框,然后重新创建它。