Android 信标库 - 仅检测特定的 UUID

Posted

技术标签:

【中文标题】Android 信标库 - 仅检测特定的 UUID【英文标题】:Android Beacon Library - detect specific UUID only 【发布时间】:2019-05-10 20:51:24 【问题描述】:

android Beacon Library 文档描述了使用setBeaconLayout 匹配任何广播给定 BLE 字节模式的信标。

这比 ios 更灵活,在 iOS 中我们仅限于查找我们预先为其传递特定 UUID 的信标,但是,由于存在此 iOS 限制,我想知道对我们自己施加相同的限制是否有意义在 Android 中。

是否可以将特定的 UUID 传递给 setBeaconLayout 或其他 API,以便仅针对具有该特定 UUID 的信标调用 didEnterRegion 等?

欢迎提供任何协议(AltBeacon、iBeacon 等)的示例。

【问题讨论】:

【参考方案1】:

是的,您可以使用 Android 信标库添加 ProximityUUID 过滤器。这是一个例子:

Region region = new Region("myMonitoringRegion",
                            Identifier.parse("2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6"), 
                            null, 
                            null);
beaconManager.startMonitoringBeaconsInRegion(region);

上面将匹配任何具有proximityUUID 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 的信标,任何主要值和任何次要值。

【讨论】:

以上是关于Android 信标库 - 仅检测特定的 UUID的主要内容,如果未能解决你的问题,请参考以下文章

android - 检测不同供应商的所有信标的通用 API

使用android-beacon-library检测蓝牙设备

iBeacon 实施 - 用例

在iOS中测距和监控时如何获取信标的MAC地址

altbeacon 以 10Hz 连续检测信标 RSSI 值

信标接近检测器在iOS swift中不起作用