【问题标题】:How to detect Bluetooth LE advertisements on Android如何在 Android 上检测蓝牙 LE 广告
【发布时间】:2013-03-22 23:08:51
【问题描述】:

有人知道在 Android 设备上检测蓝牙 LE 广告的最佳方法吗?我只需要从广告数据包中检索服务 UUID 和 RSSI 值,我 不需要连接 与设备 - 如果这会有所不同。对于包含 Broadcom 蓝牙模块的设备,我是否需要使用供应商特定的蓝牙 API 之一,例如 Broadcom

【问题讨论】:

  • 嗨,你知道如何从 scanRecord 广告包中检索服务 UUID。我使用 iOS 设备作为外围设备,它正在广播数据 + 服务 UUID。我想从发现回调。
  • @androidGuy 在这里您可以找到第一个问题的答案:stackoverflow.com/questions/18019161/…

标签: android bluetooth bluetooth-lowenergy


【解决方案1】:

从 Android 4.2 版开始,Broadcom 堆栈已集成到 Android 中,并且可以开箱即用。在此之前,您需要运行另一个堆栈来授予 BLE 访问权限,因为现有的 Android 没有 API。

【讨论】:

  • 我尝试在运行 Android 4.2 的 Nexus 7 上使用正常的 startDiscovery() 方法,但它没有发现我的 BLE 设备。你能否提供一些关于你让它工作的设备的指针和信息?感谢您的帮助。
【解决方案2】:

从 SDK 18 开始,Android 现在已经为此提供了 API。但是,在我的测试中,它们在 Nexus 4 和 4.3 上无法正常工作。

在此处查看文档: http://developer.android.com/guide/topics/connectivity/bluetooth-le.html

【讨论】:

  • Nexus 4 只提供每台设备的第一条扫描记录,顺便说一下,这是 iOS 中的标准设置。 Nexus 4 现在的解决方法是在每个包之后停止并启动 LE-scan。 Android 4.3 的 BLE SDK 非常适合扫描,但仅此而已 ;) 见 stackoverflow.com/questions/17870189/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-23
  • 1970-01-01
  • 2013-10-25
  • 2012-07-07
  • 1970-01-01
  • 2012-12-14
相关资源
最近更新 更多