Android Beacon 库参考应用程序帮助(didEnterRegion 函数)

Android Beacon Library Reference Application Help (didEnterRegion function)

我的地区是:

Region region = new Region("backgroundRegion", Identifier.parse("24DDF411-8CF1-440C87CD-E368DAF9C93E"), null, null);

当我启动程序时,我收到此消息:

06-26 18:03:21.061 7394-7394/? D/BeaconReferenceApp: setting up background monitoring for beacons and power saving

但它没有进入任何didEnterRegion函数

所以,我删除了这一行:backgroundPowerSaver = new BackgroundPowerSaver(this);

并更改扫描次数,如下:

beaconManager.setBackgroundScanPeriod(1100l);
beaconManager.setBackgroundBetweenScanPeriod(10000l-1100l);

我检查了我的 Beacon UUID,它们是 24DDF411-8CF1-440C87CD-E368DAF9C93E

所以怎么了?为什么应用程序不转到 didEnterRegion 功能?

我已经让它可以与 AltBeacons 以外的设备一起使用...(测距功能正常!)

我的最终目标是获取发现信标的当前时间...

几种可能性:

  1. 如果您已经在信标区域,您将不会收到第二次回调,直到信标消失(将其关闭 30 秒左右) ,然后在应用程序处于 运行 时将其重新打开。)或者,您可以查找一个调用 do didDetermineStateForRegion ,它总是在您的应用程序启动时调用,并带有一个标志,告诉您是否里面还是外面。

  2. 确保您已授予对位置的运行时权限。

  3. 确保在设置中为您的 phone 开启定位功能。

  4. 确保信标正在使用定位应用程序传输该标识符https://play.google.com/store/apps/details?id=com.radiusnetworks.locate&hl=en

  5. 确保您配置了正确的 BeaconParser。该问题被标记为 Eddystone,但将 iBeacon 或 AltBeacon 样式的 UUID 显示为第一个标识符。您是否配置了自定义信标解析器?您要检测哪种信标类型?