我将 Eddystone-URL 与 Android 信标库一起使用。我将压缩后的 URL 放在 Beacon 的 dataFileds 中,但是当我收到信号时,dataFields 为空 为什么会发生这种情况?在此处附上发送器的代码:
try {
byte[] buf = UrlBeaconUrlCompressor.compress("http://www.google.com");
beacon = new Beacon.Builder()
.setId1("0000FEAA-0001-1000-8000-00805F9B34FB")
.setManufacturer(0xFEAA)
.setTxPower(-59)
.setDataFields(bytesToListOfLongs(buf))
.build();
} catch (MalformedURLException e) {
e.printStackTrace();
}
BeaconParser beaconParser = new BeaconParser()
.setBeaconLayout(BeaconParser.EDDYSTONE_URL_LAYOUT);
beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser);
我在开始传输之前对 DataFields 进行了解码,我很好地看到了 URL,但在另一部智能手机的这个字段中我没有收到任何内容。