首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AltBeacon setBluetoothAddress和setBluetoothName

AltBeacon setBluetoothAddress和setBluetoothName
EN

Stack Overflow用户
提问于 2016-04-17 05:49:18
回答 1查看 731关注 0票数 0

我正试图像这里所描述的那样,以信标的形式传输一部安卓手机,使用Alt信标库。我试图使用以下方法设置一些参数:

代码语言:javascript
复制
setServiceUuid(0xfeaa)
setBluetoothAddress("31:14:15:92:65:35")
setBluetoothName("MyBeacon")

当在RangeNotifier侦听器方法didRangeBeaconsInRegion中的另一个Android设备上解释信标时,信标没有设置这些参数。(例如,getServiceUuid是-1,BT地址和名称都为空)。

我在发送应用程序的解析器和扫描应用程序中使用以下信标布局:

代码语言:javascript
复制
m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25

我不知道这意味着什么,我想知道我是否需要改变它。

有谁知道如何在接收设备上扫描的信标中访问蓝牙地址、名称等?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-17 15:21:44

Beacon类中的某些字段仅在检测信标时使用,不影响传输。你已经找到了其中的三个。下面是对每一种方法的解释,以及它们为什么会这样工作:

  • BluetoothAddress:--这是一个固定的六字节唯一地址,内置在你手机上的蓝牙芯片中。当发送数据包(信标广告或其他)时,芯片总是使用相同的地址。你不能改变它。这就是蓝牙的工作方式。
  • BluetoothName:--这是你手机的友好名称,其他蓝牙扫描仪都可以看到。更改此名称不仅会影响信标传输,还会影响电话上的所有蓝牙操作。因此,库的BeaconTransmitter不更改此名称。但是,您可以通过在Android的setName类上调用BluetoothAdapter方法来做到这一点。见这里
  • ServiceUUID:此字段仅适用于某些信标格式,如Eddystone,这些格式基于16位关贸总协定服务UUID。对于其他信标格式(AltBeacon、iBeacon),如您所见,此值为-1。ServiceUUID实际上是在BeaconParser布局表达式中定义的。在灯塔课程中,你可以阅读它,但写它没有任何效果。您通常不需要担心这个字段,当然也不需要担心问题中显示的AltBeacon布局,因为它不用于该格式。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36673130

复制
相关文章

相似问题

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