Я хотел бы, чтобы версия 2.0 Android Beacon Library могла правильно обнаруживать как маяки Estimote старого стиля (модели до 2013 года, которые не поддерживали технологию iBeacon), так и маяки Gimbal. Я знаю, что маяки Gimbal имеют зашифрованные идентификаторы, поэтому их нельзя прочитать напрямую. Но я хотел бы, по крайней мере, поделиться кодом, который может определить, что он рядом.
Вот что у меня есть:
Код для обнаружения маяка Gimbal (без чтения зашифрованных идентификаторов):
BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
BeaconManager.getBeaconParsers().add(new BeaconParser().
setBeaconLayout("m:0-3=ad7700c6"));
beaconManager.bind(this);
Код для обнаружения маяка Estimote середины 2013 года (без чтения идентификаторов, потому что я не знаю, как):
BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this);
BeaconManager.getBeaconParsers().add(new BeaconParser().
setBeaconLayout(""m:0-3=2d24bf16""));
beaconManager.bind(this);
Есть ли у кого-нибудь (особенно люди из Estimote или Gimbal) какая-либо дополнительная информация о приведенных выше смещениях байтов, которая позволит декодировать как можно больше информации из передач? В каждом случае я считаю, что нам нужно отключить UUID службы Bluetooth, который, вероятно, правильно представлен большим количеством байтов, чем в приведенных выше примерах. Я хотел бы знать UUID полного обслуживания, а также любые другие читаемые поля, отправленные в рекламе.