Sensoro / SDK-Android

SBK Demo Android
44 stars 50 forks source link

Sometimes BeaconService is crashing #20

Open lemberh opened 5 years ago

lemberh commented 5 years ago

Sometimes I'm getting this crash, I had observed it few times when I'm in the app and somebody is calling me. Looks like this is due to poor handling of background services on Android 7 and up. Here is explanation https://stackoverflow.com/questions/46445265/android-8-0-java-lang-illegalstateexception-not-allowed-to-start-service-inten

Fatal Exception: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.oitchau/com.sensoro.beacon.kit.IntentProcessorService (has extras) }: app is in background uid UidRecord{8439724 u0a123 CAC  bg:+2m33s457ms idle procs:1 seq(0,0,0)}
       at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1520)
       at android.app.ContextImpl.startService(ContextImpl.java:1476)
       at android.content.ContextWrapper.startService(ContextWrapper.java:644)
       at com.sensoro.beacon.kit.BeaconService.updateBeacons(BeaconService.java:152)
       at com.sensoro.beacon.kit.BeaconService.processScanCycleBeacons(BeaconService.java:117)
       at com.sensoro.beacon.kit.BeaconService.onScanCycleFinish(BeaconService.java:88)
       at com.android.scanner.BLEScanner.scanCycleFinish(BLEScanner.java:144)
       at com.android.scanner.BLEScanner.access$100(BLEScanner.java:15)
       at com.android.scanner.BLEScanner$2.run(BLEScanner.java:166)
       at android.os.Handler.handleCallback(Handler.java:789)
       at android.os.Handler.dispatchMessage(Handler.java:98)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6673)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)