java.lang.IllegalStateException: 不允许启动服务 Intent {cmp=*.*.*/org.altbeacon.beacon.service.BeaconService} :app 在后台 uid

问题描述

我们正在后台进行信标扫描。为此,我使用了 altBeacon 库进行后台扫描。后台扫描工作正常,但是当我杀死应用程序时出现以下错误

堆栈跟踪:

FATAL EXCEPTION: main
Process: com.demobeacon.android,PID: 24256
java.lang.RuntimeException: Unable to create application com.demobeacon.DemoBeaconApplication: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.demobeacon.android/org.altbeacon.beacon.service.BeaconService }: app is in background uid UidRecord{1b57628 u0a606 TRNB idle procs:1 seq(0,0)}
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5829)
    at android.app.ActivityThread.-wrap1(UnkNown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1685)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:176)
    at android.app.ActivityThread.main(ActivityThread.java:6651)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
 Caused by: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.demobeacon.android/org.altbeacon.beacon.service.BeaconService }: app is in background uid UidRecord{1b57628 u0a606 TRNB idle procs:1 seq(0,0)}
    at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1531)
    at android.app.ContextImpl.startService(ContextImpl.java:1487)
    at android.content.Contextwrapper.startService(Contextwrapper.java:660)
    at org.altbeacon.beacon.startup.RegionBootstrap$InternalBeaconConsumer.bindService(RegionBootstrap.java:228)
    at org.altbeacon.beacon.BeaconManager.bind(BeaconManager.java:477)
    at org.altbeacon.beacon.startup.RegionBootstrap.<init>(RegionBootstrap.java:114)
    at com.demobeacon.DemoBeaconApplication.onCreate(DemoBeaconApplication.kt:170)
    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1120)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5826)

有关信息,请查找以下代码片段:

 beaconManager = BeaconManager.getInstanceForApplication(this) 
    beaconManager?.backgroundMode = true
    beaconManager?.disableForegroundServiceScanning()
    beaconManager?.setEnableScheduledScanJobs(false)
    beaconManager?.backgroundBetweenScanPeriod = 0
    beaconManager?.backgroundScanPeriod = 1100

    beaconManager?.beaconParsers?.add( BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"))

    BluetoothMedic.getInstance().setNotificationsEnabled( true,org.altbeacon.beacon.R.drawable.notification_icon_background )
    BluetoothMedic.getInstance().enablePowerCycleOnFailures(this)
    BluetoothMedic.getInstance().enablePeriodicTests(this,BluetoothMedic.SCAN_TEST BluetoothMedic.TRANSMIT_TEST)

    region = Region("wildcard-region",null,null)
    regionBootstrap = RegionBootstrap(this,region) 
    BackgroundPowerSaver(this)

如何处理这个错误非常感谢您!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...