首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AltBeacon getIdentifier返回错误的值

AltBeacon getIdentifier返回错误的值
EN

Stack Overflow用户
提问于 2016-03-22 09:48:30
回答 1查看 354关注 0票数 0

我的代码或信标返回“错误”值(用引号表示,因为这很可能是代码中的错误),我有问题。我一直在阅读信标,据我所知,我可以给出我的信标3个标识符。我已经将我的信标标识符配置为000000000000001234 (很多0,以1234结尾),0001表示大调,0002表示次要。

下面是我在测距信标时使用的一些代码:

代码语言:javascript
复制
String id1 = beacon.getId1().toString(); 
String id2 = beacon.getId2().toString();
String id3 = beacon.getId3().toString();

我假设这些表示我在信标中拥有的标识符,但是我得到的id1值是“0x02676f6f2e67c.”,而id2和id3为null。我完全疯了吗?

也许我使用了错误的解析器?(我从信标客户支持处收到了这封邮件,尽管我没有指定要使用标识符)

代码语言:javascript
复制
.setBeaconLayout("s:0-1=feaa,m:2-2=10,p:3-3:-41,i:4-20v"));

我必须承认,如果信标解析器取决于我如何解码我的信标,或者我有什么样的信标,或者两者兼而有之,我就不太明白了。

为了记录在案,我使用的是Android,但我认为这是不相关的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-22 14:22:32

以下几点:

  • 有几种流行的信标格式,每种格式都发送具有不同标识符长度的不同数目的标识符。AltBeacon和iBeacon分别发送16字节、2字节和2字节的三个标识符。Eddystone-UID发送两个分别为10字节和6字节的标识符。Eddystone-URL发送一个变量长度介于1-17字节之间的标识符.
  • 问题并没有说明传送的是什么信标格式。它听起来像是iBeacon或AltBeacon,因为这些格式有三个部分的标识符(有时称为ProximityUUID、minor和iBeacon)。但是,这些格式的第一个标识符是一个16字节的UUID,该示例显示的标识符如下: 000000000000001234,如果以十六进制表示,这可能是9个字节,如果以十进制表示,则为未知的字节数。
  • 所示的信标布局字符串("s:0-1=feaa,m:2-2=10,p:3-3:-41,i:4-20v")用于Eddystone- URL,它是一种具有单一可变长度标识符的格式,可以使用自定义压缩算法将其转换为URL字符串。
  • 使用单个标识符(ID2和ID3为null)检测到的信标可能是Eddystone传输。部分显示的ID1为0x02676f6f2e67c。相当于“http://goo.g”的网址..。

结论:

  • 被探测到的信标可能不是你想要探测的那个。
  • 您可能在附近有多个发射信标,或者有一个信标发送不同类型的多个传输,这就是为什么要检测Eddystone-URL信标的原因。
  • 您想要检测的信标传输可能不是Eddystone-URL格式,因此您可能需要一个不同的BeaconParser。您需要先弄清楚格式,这样才能添加适当的BeaconParser。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36151000

复制
相关文章

相似问题

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