在使用不同版本的android设备进行扫描时,为同一个BLE设备获取不同的字节[]扫描记录数据

在使用不同版本的android设备进行扫描时,为同一个BLE设备获取不同的字节[]扫描记录数据,android,bluetooth-lowenergy,Android,Bluetooth Lowenergy,我从4.4.2版和Nexus7.5.1版的Acer表中扫描了一个BLE设备。我想使用UUID过滤BLE设备,但我得到的是同一个BLE设备的不同扫描记录数据 我附上了详细的图片。这在世界上很常见。当一个BLE设备宣传多个服务时-扫描仪可以自由地过滤它需要的或与之相关的内容。我在HRM(心率监视器)设备中也看到过类似的行为,该设备兼作食物盒(profile-RSCP),因此同时实现了两项服务 对于此类设备(承载多个服务),最好为BLE扫描结果制定类型解析策略-例如,这可能是一个优先顺序:- priv

我从4.4.2版和Nexus7.5.1版的Acer表中扫描了一个BLE设备。我想使用UUID过滤BLE设备,但我得到的是同一个BLE设备的不同扫描记录数据


我附上了详细的图片。

这在世界上很常见。当一个BLE设备宣传多个服务时-扫描仪可以自由地过滤它需要的或与之相关的内容。我在HRM(心率监视器)设备中也看到过类似的行为,该设备兼作食物盒(profile-RSCP),因此同时实现了两项服务

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

private final BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
    @Override
    public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
       }
 }
我上面提到的适应度传感器()将GAP外观设置为833皮带式HRM,并宣传2个UUID s-HRP和RSCP。因此,根据纯粹的扫描(广告)结果,我们得出结论,它只是一个人力资源管理设备。只有在您连接到它检索GATT服务后,您才能获得全套GATT UUID,并且它支持RSCP(跑步速度和节奏模式)和HRP(心率模式)

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

1. GAP Appearance  
2. GATT Service