Location permission is directly going to isAnyPermissionPermanentlyDenied on Android 13. It is not asking permission to user. Even if I grant the permission in settings also, it is going to isAnyPermissionPermanentlyDenied.
val permissions = ArrayList<String>()
permissions.add(Manifest.permission.ACCESS_FINE_LOCATION)
Dexter.withActivity(this).withPermissions(permissions)
.withListener(object : MultiplePermissionsListener {
override fun onPermissionsChecked(report: MultiplePermissionsReport) {
when {
report.areAllPermissionsGranted() -> {
checkAppUpdate()
}
report.isAnyPermissionPermanentlyDenied -> {
startActivity(
Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.parse("package:" + BuildConfig.APPLICATION_ID)
)
)
}
else -> {
checkPermission()
}
}
}
override fun onPermissionRationaleShouldBeShown(
permissions: List<PermissionRequest>,
token: PermissionToken
) {
token.continuePermissionRequest()
}
}).onSameThread().check()
First ask for COARSE location permission.
And only when the user allowed that ask for FINE.