-
Notifications
You must be signed in to change notification settings - Fork 671
Description
Bug Report
Plugin(s)
Geolocation
Capacitor Version
💊 Capacitor Doctor 💊
Latest Dependencies:
@capacitor/cli: 5.7.3
@capacitor/core: 5.7.3
@capacitor/android: 5.7.3
@capacitor/ios: 5.7.3
Installed Dependencies:
@capacitor/cli: 5.5.1
@capacitor/core: 5.5.1
@capacitor/android: 5.5.1
@capacitor/ios: 5.5.1
[success] iOS looking great! 👌
[success] Android looking great! 👌
Platform(s)
Android
Current Behavior
When you use "watchPosition" function of the Geolocation Plugin on Android, the GPS position is only updated every 5 seconds which is not sufficient for position tracking. The refresh on Android is jerky compared to iOS which is much smoother. Moreover, its hardcoded in the following class when calling method setMinUpdateIntervalMillis :
https://github.com/ionic-team/capacitor-plugins/blob/main/geolocation/android/src/main/java/com/capacitorjs/plugins/geolocation/Geolocation.java
LocationRequest locationRequest = new LocationRequest.Builder(10000)
.setMaxUpdateDelayMillis(timeout)
.setMinUpdateIntervalMillis(5000)
.setPriority(priority)
.build();
Expected Behavior
We should be able to configure the setMinUpdateIntervalMillis to have more accurate position tracking on Android. We should have a parameter like the "timeout" parameter used in the setMaxUpdateDelayMillis call. At least we should be able to remove the setMinUpdateIntervalMillis call to let Android manage the refreshing automatically like iOS Geolocation Plugin.
Code Reproduction
Just call the "watchPosition" of the Geolocation Plugin on Android