-
Notifications
You must be signed in to change notification settings - Fork 662
Open
Description
Problem
Changing authorization in Settings to denied (when the App is suspended) fails to transmit PositionError to the WebView
(found this while testing #224 as I noticed the PERMISSION_DENIED message was not transmitted to the WebView)
What is expected to happen?
navigator.geolocation.watchPosition() the error handler is called with PositionError.PERMISSION_DENIED
What does actually happen?
navigator.geolocation.watchPosition() the error handler is not called at all.
Diagnosis
- locationManager: didFailWithError:is correctly called, but it is called while the app is in the background![CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:posError]executes without error- The CDVWebView does not seem to receive anything or JS does not work while in background
- CDVWebViewEngine shouldReloadWebView:: is executed after the app has resumed (not sure what that does)
- geolocation is stopped without notice/error to the web-view code as errors are not delivered
This is quite difficult to fix.
Is there a way to send command-results delayed after the app resumes?
Environment, Platform, Device
cordova-plugin-geolocation HEAD, iOS 14
Metadata
Metadata
Assignees
Labels
No labels