Baseflow / Baseflow/flutter-permission-handler

[Bug]: isPermanentlyDenied on android api 30+

Open
#1,485 0 comments 10 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
2.2k
Forks
970
Avg merge
14h 22m
Merged PRs (30d)
2

Description

### Please check the following before submitting a new issue.

- [x] I have searched the [existing issues](https://github.com/baseflow/flutter-permission-handler/issues).
- [x] I have carefully [read the documentation](https://github.com/Baseflow/flutter-permission-handler/blob/main/permission_handler/README.md) and verified I have added the required platform specific configuration.

### Please select affected platform(s)

- [x] Android
- [ ] iOS
- [ ] Windows

### Steps to reproduce

1. Use anrdoid api 30+
2. Request permission
3. Set "Ask every time"
4. Request permission again

### Expected results

with second Permission.camera.request() i expect to get isGranted after for some time after setting "Ask every time"

### Actual results

"Ask every time" is setting isPermanentlyDenied so Permission.camera.request() won't do anything

### Code sample

Code sample

```dart
Future isPermisssionGranted() async {
final sdkInt = _activeSession.sdkInt;
final isPermanentlyDenied = await Permission.camera.isPermanentlyDenied;
final isDenied = await Permission.camera.isDenied;
final isSoftDenied = (isPermanentlyDenied && sdkInt >= 30) || (isDenied && sdkInt < 30);
final isHardDenied = (isPermanentlyDenied && sdkInt < 30) || (isDenied && sdkInt >= 30);
if (isHardDenied) {
return false;
}
if (isSoftDenied) {
final requestIsDenied = await Permission.camera.request().isDenied;
final isPermanentlyDenied = await Permission.camera.isPermanentlyDenied;
if (requestIsDenied || isPermanentlyDenied) {
return false;
}
}
return true;
}
```

### Screenshots or video

Screenshots or video demonstration

[Upload media here]

### Version

12.0.1

### Flutter Doctor output

Doctor output

```console
√] Flutter (Channel stable, 3.32.0, on Microsoft Windows [Version 10.0.19045.6093], locale ru-RU)
[√] Windows Version (Windows 10 Pro 64-bit, 22H2, 2009)
[√] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[√] Chrome - develop for the web
[√] Android Studio (version 2024.3.2)
[√] VS Code (version 1.102.3)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.