我希望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以及广告中发送的任何其他可读字段。
最佳答案
估计
beaconManager.getBeaconParsers().
add(new BeaconParser().
setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));