我希望Android Beacon Library的2.0版本能够正确检测到老式的Estimote信标(2013年前的型号,不支持iBeacon技术)和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"));