react-native-geolocation
react-native-geolocation copied to clipboard
Android crash when I set the locationProvider to playServices(Some times)
Environment
Galaxy S22 Ultra Galaxy S20 FE 5G Galaxy A73 5G Redmi K40
Platforms
Android
Versions
- Android:
- iOS:
- react-native-geolocation:3.0.5
- react-native:18.1.0
- react:0.70.5
Description
This bug is not inevitable. I can't reproduce it. But it appears many times in the firebase crash statistics.
Location: PlayServicesLocationManager$1.onLocationResult com.reactnativecommunity.geolocation PlayServicesLocationManager.java:74
log: Fatal Exception: java.lang.NullPointerException: Listener must not be null at com.google.android.gms.common.internal.Preconditions.checkNotNull(com.google.android.gms:play-services-basement@@18.1.0:2) at com.google.android.gms.common.api.internal.ListenerHolders.createListenerKey(com.google.android.gms:play-services-base@@18.0.1:1) at com.google.android.gms.location.FusedLocationProviderClient.removeLocationUpdates(com.google.android.gms:play-services-location@@20.0.0:6) at com.reactnativecommunity.geolocation.PlayServicesLocationManager$1.onLocationResult(PlayServicesLocationManager.java:74) at com.google.android.gms.internal.location.zzaw.notifyListener(com.google.android.gms:play-services-location@@20.0.0:2) at com.google.android.gms.common.api.internal.ListenerHolder.zaa(com.google.android.gms:play-services-base@@18.0.1:2) at com.google.android.gms.common.api.internal.zacb.run(:4) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:236) at android.app.ActivityThread.main(ActivityThread.java:8057) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
Reproducible Demo
Geolocation.getCurrentPosition( (info) => { }, (error) => { }, { enableHighAccuracy: true, maximumAge: 20 * 1000, timeout: 10 * 1000, }, );
This will help https://www.youtube.com/watch?v=E7X9DjezSR0
Same here. It was not happening before when the locationProvider was set 'auto'