flutter-permission-plugins
flutter-permission-plugins copied to clipboard
Method requestPermissions returns inconsistent results with "Allow Once" on iOS
🐛 Bug Report
The method requestPermissions() when called with the default permission level LocationPermissionLevel.location
returns PermissionStatus.denied
if the user selects "Allow Once", but if you call the same requestPermissions() again it will return PermissionStatus.granted
.
This does not happen if you call requestPermissions() with the permission level LocationPermissionLevel.locationWhenInUse
.
Expected behavior
The method should return PermissionStatus.granted
on the first call and consecutive calls.
Reproduction steps
- Set permission as denied on iOS
- Call
permissionRequestResult = await LocationPermissions().requestPermissions()
- Select "Allow Once" on iOS modal
- Check permissionRequestResult will equal to PermissionStatus.
denied
- Again, call
permissionRequestResult = await LocationPermissions().requestPermissions()
- Check permissionRequestResult will equal to PermissionStatus.
granted
Configuration
Version: 3.0.0+1
Platform:
- [x] :iphone: iOS
- [ ] :robot: Android