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 is called even when the permission was already granted #261

Open marcus-vinicius-freitas opened 4 years ago

marcus-vinicius-freitas commented 4 years ago

Expected behaviour

I have an app that connects to Google Fit and in order to do that I need the Activity_Recognition permission, I ask it the first time the user connects, and, afterwards if I check it again it should say that the permission was granted.

Actual behaviour

What is actually happening is that If I try to check again the onPermissionDenied will be called.

Steps to reproduce

Call the first time it:

                .withPermission(Manifest.permission.ACTIVITY_RECOGNITION)
                .withListener(CompositePermissionListener(GoogleFitPermissionListener(rootView, activity, onSuccessAction),
                        SnackbarOnDeniedPermissionListener.Builder.with(rootView, activity.getString(R.string.google_fit_data_body, BuildConfig.NAME, BuildConfig.NAME, BuildConfig.NAME))
                                .withOpenSettingsButton(R.string.tracker_disconnect_gf_settings)
                                .build()))
                .check()

and then the second time you check it the onPermissionDenied will becalled, even though the user accepts the first time.

Version of the library

6.2.0

XBlack97 commented 4 years ago

I'm having same issue here to library version 6.2.0

pedrovgs commented 4 years ago

Hi @XBlack97 and @marcus-vinicius-freitas could you please upload a repository with an example reproducing the error mentioned.