capacitor-community / capacitor-community/background-geolocation
Update to Capacitor v8 required
- Dominant language
- Java
- Stars
- 249
- Forks
- 79
- PR merge metrics
- No merged PRs in 30d
Description
Using the plugin with Capacitor v8 causes a crash when the app is moved to background.
An update that makes this plugin compatible with Capacitor v8 and fixes this crash would be appreciated.
FATAL EXCEPTION: main
Process: de.mse_gruppe.nav2mobile_universal, PID: 12392
java.lang.RuntimeException: Unable to pause activity {de.mse_gruppe.nav2mobile_universal/de.mse_gruppe.nav2mobile_universal.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:5072)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:5023)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4975)
at android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:48)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:179)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2304)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7930)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
Caused by: java.lang.NullPointerException
at com.getcapacitor.c0.getPermissionStates(r8-map-id-09b485e57779bc614cc0d28c64b3257478088cc74d4a1ce223beb4de7d91959f:18)
at com.getcapacitor.c0.getPermissionState(r8-map-id-09b485e57779bc614cc0d28c64b3257478088cc74d4a1ce223beb4de7d91959f:1)
at com.equimaps.capacitor_background_geolocation.BackgroundGeolocation.handleOnPause(r8-map-id-09b485e57779bc614cc0d28c64b3257478088cc74d4a1ce223beb4de7d91959f:3)
at de.mse_gruppe.nav2mobile_universal.MainActivity.onPause(r8-map-id-09b485e57779bc614cc0d28c64b3257478088cc74d4a1ce223beb4de7d91959f:32)
at android.app.Activity.performPause(Activity.java:8545)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1619)
at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:5062)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:5023)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4975)
at android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:48)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:179)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2304)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7930)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
Contributor guide
Research direction
Start by examining the Android plugin path ending at BackgroundGeolocation.handleOnPause and the reported getPermissionState failure. Reproduce the crash by moving a Capacitor v8 app to the background, then verify that the plugin remains compatible and no longer crashes during pause handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100