Skip to content

App Crashes when entering / leaving Background #319

@SeScherer

Description

@SeScherer

Your Environment

  • Plugin version: 3.0.0-alpha.43
  • Platform: Android
  • OS version: 8.1.0
  • Device manufacturer and model:
  • Running in Simulator: No
  • Plugin configuration options:
    locationProvider: 1, // hint I could probably do with DISTANCE_FILTER_PROVIDER instead
    desiredAccuracy: 0,
    stationaryRadius: 25,
    distanceFilter: 20,
    notificationTitle: 'Tracking position in the background',
    notificationText: 'enabled',
    debug: false,
    interval: 10000,
    fastestInterval: 5000,
    activitiesInterval: 5000,
    stopOnTerminate: false,
    startOnBoot: false,
    startForeground: true,
    pauseLocationUpdates: false,
    stopOnStillActivity: false,
    saveBatteryOnBackground: false,

Context

I'm using this plugin to track user location while the app is in Background, everything works fine while i only close the application but keep the screen of the device active. As soon as is start using the screen lock hardware button the plugin sometimes receives an error, this leads to an application crash.

Expected Behavior

do not crash after entering lock screen

Actual Behavior

crashes after entering lock screen

Possible Fix

Steps to Reproduce

  1. start Logging with this config
  2. Use screen Lock hardware Button
  3. after Resuming to app the crash occurs

Context

i need to get the geolocation always, ( screen lock, app paused, app foreground...)

Debug logs

11-09 12:28:31.764: E/ActivityThread(31819): Service com.marianhello.bgloc.LocationService has leaked IntentReceiver com.marianhello.bgloc.provider.ActivityRecognitionLocationProvider$1@f835c92 that was originally registered here. Are you missing a call to unregisterReceiver()?
11-09 12:28:31.764: E/ActivityThread(31819): android.app.IntentReceiverLeaked: Service com.marianhello.bgloc.LocationService has leaked IntentReceiver com.marianhello.bgloc.provider.ActivityRecognitionLocationProvider$1@f835c92 that was originally registered here. Are you missing a call to unregisterReceiver()?
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.LoadedApk$ReceiverDispatcher.(LoadedApk.java:1503)
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:1231)
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1637)
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.ContextImpl.registerReceiver(ContextImpl.java:1610)
11-09 12:28:31.764: E/ActivityThread(31819): at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:622)
11-09 12:28:31.764: E/ActivityThread(31819): at com.marianhello.bgloc.LocationService.registerReceiver(LocationService.java:479)
11-09 12:28:31.764: E/ActivityThread(31819): at com.marianhello.bgloc.provider.AbstractLocationProvider.registerReceiver(AbstractLocationProvider.java:80)
11-09 12:28:31.764: E/ActivityThread(31819): at com.marianhello.bgloc.provider.ActivityRecognitionLocationProvider.onCreate(ActivityRecognitionLocationProvider.java:53)
11-09 12:28:31.764: E/ActivityThread(31819): at com.marianhello.bgloc.LocationService.onStartCommand(LocationService.java:261)
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3995)
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.ActivityThread.-wrap21(Unknown Source:0)
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2021)
11-09 12:28:31.764: E/ActivityThread(31819): at android.os.Handler.dispatchMessage(Handler.java:109)
11-09 12:28:31.764: E/ActivityThread(31819): at android.os.Looper.loop(Looper.java:166)
11-09 12:28:31.764: E/ActivityThread(31819): at android.app.ActivityThread.main(ActivityThread.java:7383)
11-09 12:28:31.764: E/ActivityThread(31819): at java.lang.reflect.Method.invoke(Native Method)
11-09 12:28:31.764: E/ActivityThread(31819): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
11-09 12:28:31.764: E/ActivityThread(31819): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
11-09 12:28:32.042: E/AndroidRuntime(31819): FATAL EXCEPTION: main
11-09 12:28:32.042: E/AndroidRuntime(31819): Process: de.geogame.eurokey, PID: 31819
11-09 12:28:32.042: E/AndroidRuntime(31819): java.util.concurrent.RejectedExecutionException: Task com.marianhello.bgloc.LocationService$PostLocationTask$1@8c58233 rejected from java.util.concurrent.ThreadPoolExecutor@3629f0[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
11-09 12:28:32.042: E/AndroidRuntime(31819): at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2078)
11-09 12:28:32.042: E/AndroidRuntime(31819): at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:843)
11-09 12:28:32.042: E/AndroidRuntime(31819): at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1389)
11-09 12:28:32.042: E/AndroidRuntime(31819): at java.util.concurrent.Executors$DelegatedExecutorService.execute(Executors.java:620)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.marianhello.bgloc.LocationService$PostLocationTask.add(LocationService.java:561)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.marianhello.bgloc.LocationService.onLocation(LocationService.java:387)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.marianhello.bgloc.provider.AbstractLocationProvider.handleLocation(AbstractLocationProvider.java:100)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.marianhello.bgloc.provider.ActivityRecognitionLocationProvider.onLocationChanged(ActivityRecognitionLocationProvider.java:98)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.google.android.gms.internal.zzcfj.zzu(Unknown Source:4)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.google.android.gms.common.api.internal.zzci.zzb(Unknown Source:8)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.google.android.gms.common.api.internal.zzcj.handleMessage(Unknown Source:14)
11-09 12:28:32.042: E/AndroidRuntime(31819): at android.os.Handler.dispatchMessage(Handler.java:109)
11-09 12:28:32.042: E/AndroidRuntime(31819): at android.os.Looper.loop(Looper.java:166)
11-09 12:28:32.042: E/AndroidRuntime(31819): at android.app.ActivityThread.main(ActivityThread.java:7383)
11-09 12:28:32.042: E/AndroidRuntime(31819): at java.lang.reflect.Method.invoke(Native Method)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
11-09 12:28:32.042: E/AndroidRuntime(31819): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): FATAL EXCEPTION: mainjava.util.concurrent.RejectedExecutionException: Task com.marianhello.bgloc.LocationService$PostLocationTask$1@8c58233 rejected from java.util.concurrent.ThreadPoolExecutor@3629f0[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 2]
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2078)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:843)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1389)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at java.util.concurrent.Executors$DelegatedExecutorService.execute(Executors.java:620)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.marianhello.bgloc.LocationService$PostLocationTask.add(LocationService.java:561)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.marianhello.bgloc.LocationService.onLocation(LocationService.java:387)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.marianhello.bgloc.provider.AbstractLocationProvider.handleLocation(AbstractLocationProvider.java:100)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.marianhello.bgloc.provider.ActivityRecognitionLocationProvider.onLocationChanged(ActivityRecognitionLocationProvider.java:98)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.google.android.gms.internal.zzcfj.zzu(Unknown Source:4)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.google.android.gms.common.api.internal.zzci.zzb(Unknown Source:8)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.google.android.gms.common.api.internal.zzcj.handleMessage(Unknown Source:14)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at android.os.Handler.dispatchMessage(Handler.java:109)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at android.os.Looper.loop(Looper.java:166)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at android.app.ActivityThread.main(ActivityThread.java:7383)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at java.lang.reflect.Method.invoke(Native Method)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
11-09 12:28:32.043: E/com.marianhello.logging.UncaughtExceptionLogger(31819): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
11-09 12:28:33.329: E/MemoryLeakMonitorManager(32457): MemoryLeakMonitor.jar is not exist!
11-09 12:28:33.330: E/Minikin(32457): Could not get cmap table size!

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions