gpt4 book ai didi

android - 使用不同版本的 Android 设备进行扫描时,为同一 BLE 设备获取不同的 byte[] scanRecord 数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:01:00 26 4
gpt4 key购买 nike

private final BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
}
}

I scanned a single BLE device from Acer table of version 4.4.2 and Nexus 7 5.1 version. I want to filter the BLE devices using UUIDS, but I am getting different scanRecord data for same BLE device.

我附上了详细的图片。 enter image description here enter image description here

最佳答案

这在 BLE 世界中很常见。当 BLE 设备通告多个服务时 - 扫描器可以自由过滤 它需要什么或与之相关。我在 HRM(心率监测器)设备中看到了类似的行为,该设备也兼作 Food Pod(配置文件 - RSCP)——因此同时实现了 2 项服务。

对于此类设备(托管多个服务),最好为 BLE 扫描结果制定类型解析策略 - 例如,这可能是一个优先顺序:-

1. GAP Appearance  
2. GATT Service

我上面提到的健身传感器 (TICKR RUN from Wahoo) 将 GAP 外观设置为 833 带式 HRM 并公布 2 个 UUID s-HRP 和 RSCP。因此,通过纯粹的扫描(广告)结果,我们得出的结论是它只是一个 HRM 设备。只有在您连接到它以检索 GATT 服务后,您才能获得全套 GATT UUID,结果证明它支持 RSCP(运行速度和节奏配置文件)和 HRP(心脏评价资料)

现在从扫描的角度来看 - 在发现阶段连接到每台设备是一场代价高昂的游戏,因此使用设备正在宣传的主要服务可能没问题

喂!

关于android - 使用不同版本的 Android 设备进行扫描时,为同一 BLE 设备获取不同的 byte[] scanRecord 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44126450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com