googlesamples / easypermissions

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

Android 12: When user grants only coarse location, EasyPermissions incorrectly determines fine location as permanently denied #341

Open ahaapaka opened 2 years ago

ahaapaka commented 2 years ago

Basic Information

Device type: emulator OS version: Android 12 EasyPermissions version: 3.0.0

Describe the problem

  1. App request both ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION -- As instructed in https://developer.android.com/training/location/permissions#approximate-request
  2. User grants access to approximate location
  3. EasyPermission library returns ACCESS_FINE_LOCATION as denied permission
  4. EasyPermissions.permissionPermanentlyDenied(ACCESS_FINE_LOCATION) returns true

What happened? What did you expect to happen?

ACCESS_FINE_LOCATION is determined as permanently denied immediately after first permission dialog. This is incorrect because app can request location permissions again (next time system asks user to upgrade from approximate to precise location).

With Android 12 location permissions and EasyPermissions lib 3.0.0 I could not find a reliable way to determine when to show AppSettingsDialog (i.e. when permission is actually permanently denied and system returns result without displaying a dialog).

Code and logs

I can add later if needed.

johnnyzen commented 1 year ago

I am having same issue. Is this repo maintained?