Open Nunocky opened 2 years ago
Device type: Emulator (Pixel3a API 31) OS version: Android 12 EasyPermissions master branch sample.
I have try easypermissions-ktx's sample project.
When denied SMS
(which request permissions from MainFragment.kt
), and then allowed it again, MainFragment.kt :: onPermissionGranted was not called. (MainActivity.kt :: onPermissionGranted was called. )
When pass through the rationale dialog, onPermissionGranted
in the fragment is not called ?
(Immediately allows the same permission from fragment, then onPermissionGranted
in Fragment was called.)
https://user-images.githubusercontent.com/45166/146365323-6dacd90e-56e1-4c6b-81ca-fd6a9c9e000c.mov
This casting context to Fragment doesn't seem to be succeeding.
Basic Information
Device type: Emulator (Pixel4 API 29) OS version: Android 10 EasyPermissions version: 1.0.0
Question
When I was implementing the EasyPermissions feature in Fragment, I noticed that these callback functions were not being called, even though I implements EasyPermissions.RationaleCallbacks.
I investigated in the debugger and found the following
Execute EasyPermissions.requestPermissions, passing MainFragment as the host.
PermissionRequest.Builder(host.context) is called. host.context = MainActivity
MainActivity does not implement EasyPermissions.RationaleCallbacks, so onRationaleAccepted and onRationaleDenied will not be called.
Is this the correct behavior? Should EasyPermissions.RationaleCallbacks be implemented only in Activity?
Code
The source code has been uploaded to github. https://github.com/Nunocky/EasyPermissionsStudy