java - 如何从 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]
解决方案
实际上是通过以下步骤解决的: -
我通过传递制造商 ID 获取制造商数据
getScanRecord().getManufacturerSpecificData(manufacturerId)
它返回字节数组,然后我通过编写自己的函数将其转换为十六进制字符串,就是这样
推荐阅读
- arrays - 错误 TypeError:无法读取 TypeScript 中未定义的属性“推送”
- cypress - 赛普拉斯:我如何在不同的描述块中使用描述块的任何变量/元素?
- c++ - 如何在 std::function 中捕获 unique_ptr
- javascript - 将表单中输入的值从字符串更改为整数javascript
- wix - CreateFolder 元素未创建正确的目录
- excel - 从续订日期计算未来成本
- c# - 在 Postman 中使用原始变量和对象作为方法参数测试端点
- machine-learning - 我无法解决 SVR | 中的错误“ValueError: Expected 2D array, got 1D array:” 机器学习
- javascript - JQuery .each() "this" 关键字与 JS 类 "this" 关键字
- vb.net - 如何测试列表是否具有具有特定属性值的对象