googlesamples / easypermissions

Simplify Android M system permissions
https://firebaseopensource.com/projects/googlesamples/easypermissions/
Apache License 2.0
9.86k stars 1.46k forks source link

onRequestPermissionsResult not called in non-activity class #343

Open go-ammar opened 2 years ago

go-ammar commented 2 years ago

Device type: Redmi note 8 pro OS version: Android 11 EasyPermissions version: com.vmadalin:easypermissions-ktx:1.0.0_

I am making a helper class for EasyPermissions. The request dialog is being shown but the onRequestPermissionsResult is not being called inside the helper class. Its working fine if its inside an activity. Is there anyway in which onRequestPermissionsResult can be called from a non-activity class?

Code


   fun requestPermission(
        rationale: String,
        REQUEST_CODE: Int,
        permissions: String,
    ) {
        EasyPermissions.requestPermissions(
            mActivity,
            rationale,
            REQUEST_CODE,
            permissions
        )
    }

   override fun onRequestPermissionsResult(
        requestCode: Int,
        permissions: Array<out String>,
        grantResults: IntArray
    ) {
        EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, mContext)
    }
hiasel commented 2 years ago

I can confirm this. Annotating a method with @AfterPermissionGranted that is not inside an Activity does not seem to trigger a callback and the function is not called after the permission dialog.