7

我希望 Android Beacon 库的 2.0 版本能够正确检测旧式 Estimote 信标(不支持 iBeacon 技术的 2013 年之前的型号)和 Gimbal 信标。我知道云台信标具有加密标识符,因此无法直接读取这些标识符。但我至少想分享可以检测到周围存在的代码。

这是我所拥有的:

检测 Gimbal 信标的代码(不读取加密标识符):

BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
BeaconManager.getBeaconParsers().add(new BeaconParser().
       setBeaconLayout("m:0-3=ad7700c6"));
beaconManager.bind(this);

检测 2013 年中期 Estimote 信标的代码(不读取标识符,因为我不知道如何):

BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
BeaconManager.getBeaconParsers().add(new BeaconParser().
       setBeaconLayout(""m:0-3=2d24bf16""));
beaconManager.bind(this);

是否有人(尤其是来自 Estimote 或 Gimbal 的人)有关于上述字节偏移的任何附加信息,可以从传输中解码尽可能多的信息?在每种情况下,我认为我们需要关闭蓝牙服务 UUID,它可能用比我在上面的示例中更多的字节正确表示。我很想知道完整的服务 UUID 以及广告中发送的任何其他可读字段。

4

1 回答 1

17

估计

beaconManager.getBeaconParsers().
      add(new BeaconParser().
      setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
于 2014-09-05T06:58:40.490 回答