Comments (4)
Hi Wanja,
I originally intended isLocationEnabled()
on Android to be an equivalent of the iOS variant - it was intended to mean "is the app good to go for high-accuracy location tracking", e.g. a navigation app. On iOS, isLocationEnabled()
returns true if the app is authorized to use location AND location services are enabled. On iOS there's no way to tell if the device is using high-accuracy (GPS) or low-accuracy (network/WiFi) but on Android there is.
I guess I could change the semantics of isLocationEnabled()
for Android, but given that many people are using this plugin in their apps, it may cause them issues. So I think maybe it would be better if I explicitly exposed isGpsEnabled()
and isNetworkEnabled()
via the JS API as isGpsEnabled()
and isNetworkLocationEnabled()
Then you could do something like this:
cordova.plugins.diagnostic.isNetworkLocationEnabled(function(networkLocationEnabled){
cordova.plugins.diagnostic.isGpsEnabled(function(gpsEnabled){
if(gpsEnabled){
console.log("High accuracy location enabled");
}else if(networkLocationEnabled){
console.log("Low accuracy location enabled");
}else{
console.log("No location enabled");
}
}, errorCallback);
}, errorCallback);
What do you think?
from cordova-diagnostic-plugin.
Hey, thanks for answering.
You're totally right. You cannot change 'isLocationEnabled()' if so many people would be affected.
To provide isGpsEnabled()
and isNetworkLocationEnabled()
via JS API would be great.
Please add this feature.
Thank you for a great plugin anyway.
Cheers from berlin
wanja
from cordova-diagnostic-plugin.
OK, I decided to update isLocationEnabled()
on Android to return true either if GPS or network location is enabled. This is consistent with the iOS implementation. I've also added functions to individually check GPS and Network location states on Android. This has been done as a major version increase to 2.0.0, so anyone relying on the old interface can use cordova.plugins.diagnostic@1
from cordova-diagnostic-plugin.
Thanks!
from cordova-diagnostic-plugin.
Related Issues (20)
- IOS - isCameraRollAuthorized return "[NSNull isEqualToString:]: unrecognized selector sent to instance" HOT 1
- When installing with lerna no dependency is added
- getBluetoothAuthorizationStatus wrong example HOT 2
- Workaround for Location Auth Status being DENIED_ALWAYS HOT 2
- isRequestingPermission() Always returns false for location
- Support Android 13/API 33 media storage permissions HOT 3
- Permission error HOT 1
- getExternalSdCardDetails for android 13 HOT 2
- No working POST_NOTIFICATIONS HOT 3
- getLocationAuthorizationStatus not working on android 13 with ionic cordova production builds HOT 1
- getBluetoothState() returns OK in SDK 33 even though bluetooth is not enabled/disabled HOT 1
- Android build Error HOT 2
- Storage permission Issue on Android after updating to API 33 HOT 2
- Android Permission for Notification asking in Runtime in Android 13 HOT 1
- cordova diagnostic plugin requestExternalStorageAuthorization is returning DENIES_ALWAYS HOT 1
- Android < 13 ACCESS_BACKGROUND_LOCATION is automatically granted despite it's not true HOT 1
- Specifying modules issue HOT 5
- USB debugging detection is bypassed using the FRIDA tool and some other Root management apps
- requestCalendarAuthorization() always returns DENIED_ALWAYS HOT 2
- Health Connect Authorization
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 cordova-diagnostic-plugin.