是否可以基于部分 UUID 检测信标?
Is it possible to detect beacons based on partial UUID?
是否可以根据部分 UUID 检测信标?
要检测具有特定 UUID 的信标,比如 '08282922101291283379816fdae',我们使用 Identifier.parse('08282922101291283379816fdae')。
我正在尝试使用前 3 个值作为公司标识符,并且只想检测公司特定的信标。
所以我的问题是,我们能否监控以 UUID 开头的信标,无论 UUID 的其余部分如何,都说“007”?
非常感谢任何帮助,谢谢!
如果使用 Android Beacon Library,您可以通过定义指定第四个标识符(即您的 UUID 前缀)的自定义信标格式来实现。一个技巧是您只能通过移动一个或多个字节来做到这一点,因此虽然您可以匹配 0070 或 00 的前缀,但您无法匹配 007,因为它是 1.5 个字节。 (然而,您可以设置 16 个不同的区域来匹配 0070、0071、0072、...007F,这将完成与 007 相同的事情)。
这里有一个 AltBeacon 的例子。其他信标布局也是可能的:
beaconManager.getBeaconParsers().clear();
beaconManager.getBeaconParsers().add(new BeaconParser("AltBeacon with two-byte prefix identifier").setBeaconLayout("m:2-3=beac,i:4-5,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"));
...
Region region = new Region("Any UUID starting with 0070", Identifier.parse("0x0070", 2), null, null);
是否可以根据部分 UUID 检测信标? 要检测具有特定 UUID 的信标,比如 '08282922101291283379816fdae',我们使用 Identifier.parse('08282922101291283379816fdae')。 我正在尝试使用前 3 个值作为公司标识符,并且只想检测公司特定的信标。 所以我的问题是,我们能否监控以 UUID 开头的信标,无论 UUID 的其余部分如何,都说“007”?
非常感谢任何帮助,谢谢!
如果使用 Android Beacon Library,您可以通过定义指定第四个标识符(即您的 UUID 前缀)的自定义信标格式来实现。一个技巧是您只能通过移动一个或多个字节来做到这一点,因此虽然您可以匹配 0070 或 00 的前缀,但您无法匹配 007,因为它是 1.5 个字节。 (然而,您可以设置 16 个不同的区域来匹配 0070、0071、0072、...007F,这将完成与 007 相同的事情)。
这里有一个 AltBeacon 的例子。其他信标布局也是可能的:
beaconManager.getBeaconParsers().clear();
beaconManager.getBeaconParsers().add(new BeaconParser("AltBeacon with two-byte prefix identifier").setBeaconLayout("m:2-3=beac,i:4-5,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"));
...
Region region = new Region("Any UUID starting with 0070", Identifier.parse("0x0070", 2), null, null);