Karumi / Dexter

Android library that simplifies the process of requesting permissions at runtime.
http://karumi.com
Apache License 2.0
5.23k stars 671 forks source link

OnPermissionDenied called even when permissions are granted on Android 10 #272

Closed DevAdeel closed 3 years ago

DevAdeel commented 3 years ago

Expected behaviour

onPermissionGranted should be called when all permissions are granted

Actual behaviour

onPermissionDenied is called even all permissions are granted on Android 10.

Steps to reproduce

I have also tried setting permissions from setting activity but on Android 10 always permissiondenied called.

Here is the code implementation

{ PermissionListener listener = SnackbarOnDeniedPermissionListener.Builder .with(snackBar,snackbarMsg) .withOpenSettingsButton("Settings") .withCallback(new Snackbar.Callback(){ @Override public void onShown(Snackbar sb) {

                }
            }).build();
    Dexter.withContext(context)
            .withPermissions(permissions)
            .withListener(new MultiplePermissionsListener() {
                @Override
                public void onPermissionsChecked(MultiplePermissionsReport multiplePermissionsReport) {
                    if(multiplePermissionsReport.areAllPermissionsGranted()){
                        requestListener.onPermissionGranted();
                    }else if(multiplePermissionsReport.isAnyPermissionPermanentlyDenied()){
                        listener.onPermissionDenied(multiplePermissionsReport.getDeniedPermissionResponses().get(0));
                    }else {
                        Toast.makeText(context, "Permissions Denied", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onPermissionRationaleShouldBeShown(List<PermissionRequest> list, PermissionToken permissionToken) {
                    permissionToken.continuePermissionRequest();
                }
            }).check();

}

Version of the library

6.2.1