michalchudziak/react-native-geolocation

Facing the crash in android

vikasporwal625 opened this issue · 1 comments

Environment

System:
OS: macOS 14.2
CPU: (11) arm64 Apple M3 Pro
Memory: 208.59 MB / 18.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 16.20.2 - ~/.nvm/versions/node/v16.20.2/bin/node
Yarn: Not Found
npm: 9.8.1 - ~/Projects/thrive_consumer_app/node_modules/.bin/npm
Watchman: 2023.12.04.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.14.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, watchOS 10.2
Android SDK: Not Found
IDEs:
Android Studio: 2023.1 AI-231.9392.1.2311.11076708
Xcode: 15.1/15C65 - /usr/bin/xcodebuild
Languages:
Java: 17.0.9 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.67.5 => 0.67.5
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

Platforms

Android

Versions

  • Android: 13
  • react-native-geolocation: 3.1.0
  • react-native: 0.67.5
  • react: 17.0.2

Description

PFA Stack Trace
Fatal Exception: java.lang.RuntimeException: Illegal callback invocation from native module. This callback type only permits a single invocation from native code.
at com.facebook.react.bridge.CallbackImpl.invoke(CallbackImpl.java:26)
at com.reactnativecommunity.geolocation.PlayServicesLocationManager$2.onLocationAvailability(PlayServicesLocationManager.java:153)
at com.google.android.gms.internal.location.zzcu.notifyListener(com.google.android.gms:play-services-location@@21.0.1:2)
at com.google.android.gms.common.api.internal.ListenerHolder.zaa(com.google.android.gms:play-services-base@@18.1.0: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:263)
at android.app.ActivityThread.main(ActivityThread.java:8296)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)

For me the I just passed maximumAge to be 1000, or greater then 0.

Geolocation.getCurrentPosition(
      position => {
        const cords = {
          latitude: position.coords.latitude,
          longitude: position.coords.longitude,
        };
        resolve(cords);
      },
      error => {
        reject(error.message);
      },
      {enableHighAccuracy: true, timeout: 15000, maximumAge: 1000},
    );