android 中的信标和正常 ble 检测有什么区别?

What is difference between beacon and normal ble detection in android?

android什么时候beacon在ble应用中更有用? 使用信标有什么好处,我知道我们可以自定义后台扫描率。但是使用普通的 ble 我们也可以通过使用 SCAN_MODE_LOW_POWER 和其他标志来改变背景扫描率。两者都会减少扫描周期。 谁能解释一下这些

Beacons 作为蓝牙 LE 设备的专用版本。它们被设计为仅传输设备,可以定期(通常为 1-10 Hz)简单地发送一个唯一标识符。信标使用蓝牙 LE 广告发送这些标识符,该功能是蓝牙 4.0 规范的一个相对较小的子集。

信标特定 Android 库(如 Android Beacon Library)旨在专注于检测蓝牙 LE 信标的用例,而不是执行更通用的蓝牙 LE 操作。 信标库在内置 Android BLE 扫描 之上添加逻辑,包括:

  • 根据不同的信标格式(Eddystone、AltBeacon、iBeacon 等)从原始 BLE 广告中解析信标标识符
  • 事件驱动的 API 会告诉您何时首次看到特定信标标识符模式然后停止看到。
  • 定期回调(例如每秒一次)告诉您哪些信标是可见的列表。
  • 到信标的距离估计。
  • 应用程序从前台切换到后台时自动切换扫描间隔。
  • 检测到信标时自动唤醒应用程序。

虽然可以使用 Android 中的低级蓝牙 LE API 完成上述所有操作,但您必须自己编写大量代码来构建这些功能。 使用信标库可以让您专注于应用程序的业务逻辑,而将处理信标解析和检测功能的复杂性留给其他人。

完全披露:我是 Android Beacon Library 开源项目的首席开发人员。