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

AltBeacon中的Beacon Bluetooth地址与BluetoothAdapter地址

彭鸿畅
2023-03-14

我目前正在使用AltBeacon库在Android上开发我的应用程序

使用该库,当找到信标集合时,将调用rangeNotifier的回调,如下所示:

@Override
public void didRangeBeaconsInRegion(Collection beacons, Region region) {
  for (Beacon b : beacons) {
    System.out.println(b.getBluetoothAddress());
  }
}

经过测试,我注意到getBluetoothAddress()与广告设备的蓝牙MAC地址不匹配。

在广告设备上,我获取蓝牙MAC地址如下:

public String getMacAddress() {
    BluetoothAdapter.getDefaultAdapter().getAddress();
}
  1. 假设信标getBluetoothAddress()与广告商的蓝牙MAC地址不同,我错了吗?如果不同,beacon返回的地址是什么?
  2. 我如何在广告之前获得广告设备的beacon.getBluetoothAddress()是什么?
  3. 任何关于识别广告设备的建议(除了使用蓝牙MAC地址)将不胜感激。

共有1个答案

百里涛
2023-03-14

你用的是哪种信标(制造商)?广告MAC地址是一个欺骗的地址,所以你肯定有可能得到不同的值。甚至有制造商(例如,Gimbal)内置了MAC地址旋转,因此接收设备将无法从最初来自相同设备但具有不同MAC的两个信号中识别设备。

在通常情况下,如果您知道应用程序中要响应的所有信标,那么通过UUID、major和minor组合来识别信标就足够了。

 类似资料:
  • 1. 内存与地址 图 17.1. 邮箱的地址 我们都见过像这样挂在墙上的很多个邮箱,每个邮箱有一个房间编号,根据房间编号找到相应的邮箱投入信件或取出信件。内存与此类似,每个内存单元有一个地址(Address),内存地址是从0开始编号的整数,CPU通过地址找到相应的内存单元,取其中的指令或者读写其中的数据。与邮箱不同的是,一个地址所对应的内存单元不能存很多东西,只能存一个字节,以前讲过的int、fl

  • 在上一篇文章中,我们已经初步实现了交易。相信你应该了解了交易中的一些天然属性,这些属性没有丝毫“个人”色彩的存在:在比特币中,没有用户账户,不需要也不会在任何地方存储个人数据(比如姓名,护照号码或者 SSN)。但是,我们总要有某种途径识别出你是交易输出的所有者(也就是说,你拥有在这些输出上锁定的币)。这就是比特币地址(address)需要完成的使命。在上一篇中,我们把一个由用户定义的任意字符串当成

  • 本文向大家介绍指针与地址的区别? 相关面试题,主要包含被问及指针与地址的区别? 时的应答技巧和注意事项,需要的朋友参考一下 区别: 1指针意味着已经有一个指针变量存在,他的值是一个地址,指针变量本身也存放在一个长度为四个字节的地址当中,而地址概念本身并不代表有任何变量存在. 2 指针的值,如果没有限制,通常是可以变化的,也可以指向另外一个地址. 地址表示内存空间的一个位置点,他是用来赋给指针的,地

  • 问题内容: 我知道我们可以通过IE(ActiveX对象)获取用户的MAC地址。 有没有一种方法可以使用JavaScript获取用户的MAC地址? 问题答案: 我同意所有先前的答案,即如果您能够直接从Javascript执行此操作,则它将是一个隐私/安全漏洞。我可以想到两件事: 使用Java(带有签名的applet) 使用签名的Javascript,在FF(通常是Mozilla,通常在Mozilla

  • 5. IP地址与路由 IPv4的IP地址长度为4字节,通常采用点分十进制表示法(dotted decimal representation)例如0xc0a80002表示为192.168.0.2。Internet被各种路由器和网关设备分隔成很多网段,为了标识不同的网段,需要把32位的IP地址划分成网络号和主机号两部分,网络号相同的各主机位于同一网段,相互间可以直接通信,网络号不同的主机之间通信则需要

  • 我正在将我的spring boot应用程序与mongo db连接。 该代码在本地环境中运行良好,其中数据库只有一个节点,并且没有以集群模式运行。 但是,当db在具有群集模式和单个节点以及1个副本集的临时环境上运行时,spring应用程序会显示以下错误: 在这两种情况下,应用程序属性都是相同的,只是临时服务器的IP替换了本地主机: 我检查了这个问题,但没有多少解决方案。 请告诉我这里出了什么问题?