首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Android信标库接收来自虚拟Eddystone-URL信标的URL

使用Android信标库接收来自虚拟Eddystone-URL信标的URL
EN

Stack Overflow用户
提问于 2017-07-13 16:52:25
回答 1查看 331关注 0票数 0

我正在Android Beacon库中使用Eddystone-URL。我把压缩的网址放在信标的dataFileds中,但当我收到信号时,dataFields是空的,为什么会发生这种情况?在这里附上发送器的代码:

代码语言:javascript
复制
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,我很好地看到了网址,但我在其他智能手机中没有收到这个字段中的任何内容。

EN

回答 1

Stack Overflow用户

发布于 2017-07-14 01:00:07

对于这种情况,您根本不能使用数据字段。数据字段被设计为只保存几位信息。

相反,将您想要传输数据放在ID1字段本身中。在iBeacon和AltBeacon格式的情况下,该Id是16字节长。您需要将日期字节转换为16字节,并将它们格式化为uuid,以便identifier解析方法可以将它们转换为标识符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45075825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档