如何使用 Android 的 Altbeacon 库使用 Url 传输 Eddystone 信标

How to transmit an Eddystone Beacon with Url using Altbeacon Library for Android

我能够 运行 Altbeacon 库的 Github 站点上提到的示例,用于 Android 传输 Altbeacon。 这在我的 phone 上非常有效,我可以传输一个 Altbeacon 并通过另一个 phone.

检测到它

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

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

尝试这样的事情:

    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");
    }