Altbeacon和引导程序始终默认为默认的信标格式



我使用Alt-Beacon参考应用程序作为如何实现引导区域的起点。如果终止,应用程序将重新启动,但信标格式始终设置为Alt-beacon,而不是iBeacon。

启动时的Logcat:

D/BeaconsParser:解析信标布局:m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,D:25-25

引导代码:

beaconManager = org.altbeacon.beacon.BeaconManager.getInstanceForApplication(this);
beaconManager.getBeaconParsers().clear();
beaconManager
.getBeaconParsers()
.add(new BeaconParser()
.setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
beaconManager.setBackgroundBetweenScanPeriod(5000l);
beaconManager.setBackgroundScanPeriod(1000l);
beaconManager.setRegionStatePersistenceEnabled(false);
Region region = new Region("backgroundRegion",null, null, null);
regionBootstrap = new RegionBootstrap(this, region);
BackgroundPowerSaver backgroundPowerSaver = new     BackgroundPowerSaver(this);

我希望当应用程序重新启动时,我会看到:

m: 2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24

我在Android Studio 3.1.3中使用AltBeacon的2.15.2,三星S5 Mini的测试设备运行Android 6.0.1

更多信息:当手机重新启动并连接USB时,我希望看到应用程序启动并收听iBeacon数据包。它似乎重新启动,但被操作系统杀死了。

Logcat:

12-07 17:32:08.132 8359-8359/net.simplesdkest I/InstantRun:启动即时运行服务器:是主进程

12-07 17:32:08.212 8359-8359/net.simplesdkest I/Beacon Manager:Beacon Manager在名为"net.simplesdktest"的pid 8359上启动,用于应用程序包"net.somplesdktest'。isMainProcess=true

12-07 17:32:08.357 4889-4889/?I/TaskManager:程序包信息:getRunningAppProcesses((-proc:net.simplesdkest,pkg:net.simplesbkest,uid:10346,pid:8359

12-07 17:32:12.822 2390-3458/?I/ActivityManager:杀死8359:net.simplesdkest/u0a346(调整15(:DHA:空#21

setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24"));

这个检测到ibeacon格式BLE信标,不是吗?

第一次创建信标管理器时,默认情况下会添加AltBeacon格式。我已经设法清除了这一点,并设置了iBeacon,它现在正在被检测。

最新更新