首页 > 解决方案 > 如何从 ble 设备获取正确(解码)的制造商广告数据?

问题描述

我是 android 新手,所以基本上我正在开发一个应用程序,它从 ble 设备获取数据以对其进行进一步操作。到目前为止我所做的:-

我扫描了设备得到了它们的 rssi 和 macaddress,但是当我尝试在回调方法中获取 scanRecord 时,为了访问制造商数据,我得到了 sparseArray,如下所示:-

{89=[-128,42, 75, -112, 75, -34, 0, 0, 0, 0, 0, -81, 22]}

但我想要这样

[59,00,80,BC,26,01,00,FF,FF,00,00,04,00,00,00]

标签: javaandroidbluetooth-lowenergy

解决方案


实际上是通过以下步骤解决的: -

我通过传递制造商 ID 获取制造商数据

getScanRecord().getManufacturerSpecificData(manufacturerId)

它返回字节数组,然后我通过编写自己的函数将其转换为十六进制字符串,就是这样


推荐阅读