0

我能够运行在用于传输 Altbeacon 的 Altbeacon 库的 Github 站点上提到的示例以传输 Altbeacon。这在我的手机上完美运行,我可以传输一个 Altbeacon 并通过另一部手机检测它。

我需要开发一个 POC,在其中我也可以传输 Eddystone Beacon 以及 Url 数据。我对如何在使用 Builder 构建 Beacon 时设置 Url 数据感到有些困惑,Altbeacon 库网站上的文档演示了 Eddystone 信标的扫描部分,但是用 Url 传输 Eddystone 信标是那里缺少的.

如果有人可以指出正确的方向,那将很有帮助。

4

1 回答 1

6

尝试这样的事情:

    try {
        byte[] urlBytes = UrlBeaconUrlCompressor.compress("http://www.davidgyoungtech.com");
        Identifier encodedUrlIdentifier = Identifier.fromBytes(urlBytes, 0, urlBytes.length, false);
        ArrayList<Identifier> identifiers = new ArrayList<Identifier>();
        identifiers.add(encodedUrlIdentifier);
        beacon = new Beacon.Builder()
                .setIdentifiers(identifiers)
                .setManufacturer(0x0118)
                .setTxPower(-59)
                .build();
        BeaconParser beaconParser = new BeaconParser()
                .setBeaconLayout(BeaconParser.EDDYSTONE_URL_LAYOUT);
        BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser);
        beaconTransmitter.startAdvertising(beacon);
    } catch (MalformedURLException e) {
        Log.d(TAG, "That URL cannot be parsed");
    }
于 2016-06-11T23:55:36.507 回答