Search code examples
androidandroid-permissionsandroid-13

Location permission issue Android 13


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()

Solution

  • First ask for COARSE location permission.

    And only when the user allowed that ask for FINE.