安卓altbeacon库-如何访问扫描信标的完整有效载荷



如何使用altbeacon库访问扫描信标的原始有效载荷数据?

Android Beacon库不是为这个目的而设计的,所以做你想做的事情的API有点尴尬。

一旦检测到,库自动解析有效载荷并将字节转换为信标对象。但由于该库也支持传输,因此它具有将信标对象直接转换回字节的实用程序。如果使用iBeacon,您可以将检测到的信标转换回原始字节,如下所示:

BeaconParser iBeaconParser = new BeaconParser()
.setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24");
byte[] payloadBytes = iBeaconParser.getBeaconAdvertisementData(beacon);  

一般来说,这是一个无损过程,因为信标格式通常会占用有效载荷的每个字节。如果您的自定义信标格式不使用所有字节,则需要稍微更改格式,以便在末尾添加额外的数据字段,以便将完整的有效载荷解析到信标中。否则,您将在转换中丢失这些额外的字节。

最新更新