Почему при использовании формата eddystone UID в библиотеке есть ограничение на майор 65535? Могу ли я переопределить этот предел? - PullRequest
1 голос
/ 26 апреля 2019

Мне нужно установить значение экземпляра id больше 65535 для передачи как маяка, но библиотека маяков Android, по-видимому, этого не позволяет.

Код отлично работает со значением Major меньше 65535.

uuid="87657753868957865aaa"
major = "1000"; // when this number is bigger than 65535 doesn t work
beacon = new Beacon.Builder()
                .setId1(uuid)
                .setId2(major)
                .setManufacturer(0x00e0)
                .setTxPower(-59)
                .build();
beaconParser = new BeaconParser()
         .setBeaconLayout("s:0-1=feaa,m:2-2=00,p:3-3:-41,i:4-13,i:14- 
19");

Могу ли я использовать мажор больше 65535?

1 Ответ

0 голосов
/ 26 апреля 2019

Вы можете установить значение больше 65535, но оно должно быть выражено в шестнадцатеричном формате. Попробуйте «0x10000» (65536 десятичных) или «0xffffffffffff» (максимальное значение, допускаемое идентификатором экземпляра Eddystone).

См. «Разрешенные форматы» для разбора строки в Идентификатор в Javaocs здесь: https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/Identifier.html

...