为什么在使用eddystone UID格式时,库中的专业有65535的限制?我可以重新定义这个限制吗?

Why is there a limit for major of 65535 in the library when using eddystone UID format? Could I redefine this limit?

我需要将实例 ID 的值设置为大于 65535 才能像信标一样传输,但 Android 信标库显然不允许这样做。

代码工作正常,主要值小于 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 的专业吗?

您可以设置大于65535的值,但必须以十六进制格式表示。尝试“0x10000”(十进制 65536)或“0xffffffffffff”(Eddystone 实例 ID 允许的最大值)。

请参阅 "Allowed formats" 将字符串解析为 Javaoc 中的标识符:https://altbeacon.github.io/android-beacon-library/javadoc/org/altbeacon/beacon/Identifier.html