Does checking the Never ask again box when asking for a runtime permission disable future dialogs?

前端 未结 3 870
南笙
南笙 2020-12-15 05:47

If a user denies a runtime permission with Never ask again checked, does this disable any future ability to ask for the same permission? Does the user have to go t

3条回答
  •  我在风中等你
    2020-12-15 06:08

    Yes it will disable. But, you can do something to detect if the user have set some permissions not to request again. You can check it in the onRequestPermissionsResult() method

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        for(String permission: permissions){
                if(ActivityCompat.shouldShowRequestPermissionRationale(this, permission)){
                    //denied
                    Log.e("denied", permission);
                }else{
                    if(ActivityCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED){
                        //allowed
                        Log.e("allowed", permission);
                    } else{
                        //set to never ask again
                        Log.e("set to never ask again", permission);
                        //do something here.
                    }
                }
            }
    }
    

    I have prepared a helper library for permission to handle such contition here on GitHub.

提交回复
热议问题