如何使用适用于Android的Altbeacon Library使用Url传输Eddystone Beacon

时间:2016-06-09 12:55:47

标签: android altbeacon eddystone eddystone-url

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

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

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

1 个答案:

答案 0 :(得分:4)

尝试这样的事情:

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