如何解决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 举报,一经查实,本站将立刻删除。