Comments (3)
Other questions?
a) how to know if the user granted permission for ALWAYS or ONLY WHEN IN USE.
b) what is the difference, in the example, of the results from LocationPermissions().checkPermissionStatus()
and the await LocationPermissions() .requestPermissions(permissionLevel: permissionLevel)
. It seems that the results are inconsistent between these two calls. As they should have the same results (after the user has permanently granted or not the permissions).
from flutter-permission-plugins.
@mlemos thank you very much for thanking the time and write this great and detailed bug report. It is really appreciated.
I have just released a hotfix (version 3.0.0+1) which (thanks to @filipproch) includes a fix for this issue. It also includes a fix for iOS which showed similar behavior (requesting "when-in-use" permissions also resulted in the plugin falsely reporting "always" permission were granted).
Regarding you other questions:
a) With this hotfix the plugin will now take the supplied PermissionLevel
into consideration. So if you want to only request "when-in-use" permissions, you can call await LoctionPermissions().requestPermissions(permissionLevel: PermissionLevel.locationWhenInUse)
.
b) The checkPermissionStatus
method is meant to only check if permissions are currently granted. The requestPermissions
method is meant to really ask the user for permissions (if not yet permanently denied or granted).
Hope this helps. I will close the issue for now but please feel free to let me know if you have questions or if the problem still remains.
from flutter-permission-plugins.
I followed all steps above, updated to the latest version, and I still have an issue with the checkPermissionStatus on Android when the user selects "Allow only while using the app".
Basically, when the prompt appears in Android:
- If the user click in "Allow all the time", the Permission Status becomes "granted" (which is fine)
- If the user clicks in "Deny", the status becomes "denied", (also fine)
- If the user clicks in "Allow only while using the app", the status becomes "denied" (here is the problem)
On IOS all good.
from flutter-permission-plugins.
Related Issues (20)
- Multiple bugs when we deny location permission and then ask for it again HOT 1
- iOS - Location permission dialog is not appearing and always giving denied response. HOT 9
- Is there any plans to support Web version? HOT 1
- AndroidManifest need ACCESS_FINE_LOCATION permission? HOT 2
- Request ServiceStatus
- On iOS 13, location always is incorrectly returned as granted when you only have when in use HOT 2
- Method requestPermissions returns inconsistent results with "Allow Once" on iOS
- Android 11 support problem
- Android permission allowWhenAppInUse triggering inactive and resumed appLifeStateEvent
- [iOS] Requesting location always permissions does not return status when requesting more than once or selecting while using HOT 4
- Issue with the checkPermissionStatus on Android when the user selects "Allow only while using the app" HOT 2
- iOS permission key search is incomplete HOT 1
- [android] "Can request only one set of permissions at a time." HOT 5
- Null Safety Support HOT 1
- Will these packages eventually replace the permission_handler package? HOT 1
- Open turn on location service
- Show Rationale Dialog
- On Android version less than 6 (M) checkPermissionStatus returns Denied HOT 4
- LocationPermissionsPlugin.java uses or overrides a deprecated API
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter-permission-plugins.