首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Android灯塔库从Eddystone信标获取监控模式的url?

如何使用Android灯塔库从Eddystone信标获取监控模式的url?
EN

Stack Overflow用户
提问于 2016-07-17 12:11:25
回答 1查看 636关注 0票数 0

我看过一些例子,如何通过测距而不是通过监视获得Eddystone信标的URL帧

代码语言:javascript
复制
beaconManager.setRangeNotifier(new RangeNotifier() {
    @Override
    public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
        for (org.altbeacon.beacon.Beacon beacon: beacons) {
            if (beacon.getServiceUuid() == 0xfeaa && beacon.getBeaconTypeCode() == 0x10) {
                // This is a Eddystone-URL frame
                String url = UrlBeaconUrlCompressor.uncompress(beacon.getId1().toByteArray());
                Log.d("Eddystone", "I see a beacon transmitting a url: " + url +
                        " approximately " + beacon.getDistance() + " meters away.");
            }
        }
    }
});

didRangeBeaconsInRegion上有一个org.altbeacon.beacon.Beacon参数。但是对于监视,didEnterRegion只以区域作为参数。

代码语言:javascript
复制
 @Override
 public void didEnterRegion(Region region) {

 }

那么,我怎样才能在监控模式下得到艾德龙信标的网址呢?有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-17 12:42:34

您必须使用测距API来读取实际的标识符。虽然可以使用监视来检测Eddystone-URL信标传输,但是由于帧只有一个标识符( URL),所以必须根据预先知道的URL标识符(不太有用)进行监视,或者监视所有标识符。

在后一种情况下,这会造成读取标识符的问题,因为监视回调只具有您所描述的region对象。

解决方案是在您监视的同时进行范围调整。远程回调将为您提供检测到的信标的完整列表,并允许您访问URL。

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

https://stackoverflow.com/questions/38421045

复制
相关文章

相似问题

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