0

我正在使用 Estimote 信标开发 android 应用程序。我正在尝试处理我将使用 100 多个信标的场景。为此,我不是为每个信标创建单独的区域,而是通过为所有信标分配通用 Proximity UUID 并通过仅传递 Proximity UUID 来声明区域来创建单个区域。我保留 Major 和 Minor 以唯一标识信标。

由于我的应用程序必须在后台,我正在使用带有onEnteredRegiononExitedRegion回调的BeaconManager.MonitoringListener接口(我的理解是测距只能在应用程序处于前台时进行)。由于 onExitedRegion 没有为我提供任何触发 onExitedRegion 的信标列表,我如何才能获取信标详细信息,例如 onExitedRegion 中的 Major、Minor?

4

2 回答 2

1

编辑:下面提到的库已被Android Beacon Library取代。代码示例可在同一站点上找到。


你没有说你正在使用什么库,但是开源的Android iBeacon 库允许你通过结合测距和监控来做到这一点。该库对在后台使用范围没有限制(与 iOS 不同)。该库与任何标准 iBeacon 完全兼容。

尽管库的 didExitRegion 回调不会告诉您消失的具体信标,但您可以根据在最近的 didRangeBeaconsInRegion 回调中传递给您的列表来跟踪这些可见信标。这样,当您收到 didExitRegion 回调时,您就知道哪些信标在它们全部消失之前是最后可见的。

测距和监控代码的示例都可以在此处获得。

于 2014-05-29T14:26:39.133 回答
0

在 Estimote SDKMonitoringListener中有方法onEnteredRegion(Region region, List<Beacon> beacons)beacons触发 onEnteredRegion 事件的信标列表在哪里。此列表可能无法反映与给定区域匹配的所有信标。

为了获得更精确的信标列表,您需要在onEnteredRegion回调中开始测距。

于 2014-05-29T20:16:25.130 回答