低功耗蓝牙设备可以向其他设备广播消息。该消息包可以包括长度、配置文件、rssi(信号强度)等信息。
在 Android 中扫描 BLE 设备时,如何读取那些蓝牙 LE 广播数据?
API 级别 21+
在 android.bluetooth.le.ScanCallback中,如下回调方法有一个名为result的参数,其中有一个名为scanRecord的字段,其中应该包含 BLE 设备发送的广告数据。
void onScanResult (int callbackType, ScanResult result)
API 级别 18-20
在BluetoothAdapter.LeScanCallback中,如下回调方法有一个名为scanRecord的参数,该参数应包含 BLE 设备发送的广告数据。
public abstract void onLeScan (BluetoothDevice device, int rssi, byte[] scanRecord)
scanRecord:远程设备提供的广告记录的内容。