Android Библиотека altbeacon - Как получить доступ к полной загрузке отсканированного маяка - PullRequest
0 голосов
/ 18 марта 2020

Как получить доступ к необработанным данным полезной нагрузки отсканированного маяка с помощью библиотеки altbeacon?

1 Ответ

1 голос
/ 18 марта 2020

Библиотека маяков Android не предназначена для этой цели, поэтому 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);  

В общем, это процесс без потерь, поскольку форматы маяка обычно используют каждый байт полезной нагрузки. В маловероятном случае, если у вас есть собственный формат маяка, который не использует все байты, вам нужно будет немного изменить формат, чтобы добавить дополнительные поля данных в конце, чтобы вся полезная нагрузка была проанализирована в маяке. В противном случае вы потеряете эти дополнительные байты при конвертации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...