Baseflow / Baseflow/flutter-permission-handler

[Bug]: .request returns permanently denied, but status only denied

Open
#1,393 2 comments 0 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
- [X] iOS
- [ ] Windows

### Steps to reproduce

Add any kind of permission, e.g. `Permission.notification` and deny the native popup.

When checking the `status`, there are two way:

1. `await Permission.notification.status`
2. `await Permission.notification.request()`

### Expected results

I expect to get the same `status` for both variants.

### Actual results

But:

1. `status` -> `.denied`
2. `request` -> `permanentlyDenied`

The 2nd is what I actually need, because otherwise I don't know if the native request was done before.

I couldn't find anything about this, but it seems a quite important missing feature/bug, at least for me.

### Code sample

Code sample

```dart
[Paste your code here]
```

### Screenshots or video

Screenshots or video demonstration

[Upload media here]

### Version

11.3.0

### Flutter Doctor output

Doctor output

```console
[Paste your output here]
```

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.