当前位置: 首页 > 知识库问答 >
问题:

如何在Android环境下使用Altbeacon库传输带Url的Eddystone信标

司凡
2023-03-14

我能够在Android的Altbeacon库的Github站点上运行用于传输Altbeacon的示例。这在我的手机上工作得很好,我可以通过另一部手机发送一个Altbeacon并检测到它。

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

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

共有1个答案

谷梁昊空
2023-03-14

尝试如下所示:

    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");
    }
 类似资料:
  • 因为它是开源的,我想坚持它,以后相应地个性化(更新)。 例如,我们需要使用以下代码设置信标布局: 编辑:我更改了代码的setBeaconLayout部分,正如答案中所建议的那样。但还是不起作用。

  • 我正在对信标进行测距,我的目标是处理didRangeBeaconsInregion中的信标集合,以便获得集合中最近的一个,并在屏幕上显示与信标itselt相关的字符串(Beacon1=Red,Beacon2=Blue...)。我目前的ibeacons广告速率是1Hz(我还不能配置它们来提高它)。 据我所知,didRangeBeaconsinRegion有一个beacons集合,它是上一秒钟看到的b

  • 我最近刚开始使用Google的firebase作为android应用程序数据的在线集中数据库(从使用本地sqlite迁移过来)。 作为firebase的新手,我想问一下Android的firebase在线数据库有多安全? 从下面的线程中可以看出,任何能够访问google-services.json的人都可以插入和修改firebase数据库中的在线数据吗? null 到目前为止,为了增加安全性,我已

  • 我有一个关于使用AltBeacon库用Eddystone信标监视多个区域的问题。 例如,假设我有3个信标,每个信标被分配给另一个区域,并且这些区域是基于信标的实例值定义的,即(“region1”,null,“instanceValueOfBeacon”,null)并且我对每个didenterregion有不同的操作。