【发布时间】:2018-03-08 09:33:55
【问题描述】:
我正在尝试在未连接到 ble 传感器的情况下接收广告数据,我使用了onScanResult 功能。我logcat 结果然后我得到:
ScanResult{mDevice=A4:34:F1:3A:AF:XX, mScanRecord=ScanRecord
[mAdvertiseFlags=6, mServiceUuids=null, mManufacturerSpecificData={},
mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=XXXX],
mRssi=-67, mTimestampNanos=1445086508079000}
mDevice 和 mDeviceName 和 mRssi 是正确的,然后我尝试获取 mScanRecord,它是字节数组格式,我尝试将其转换为十六进制表示:然后我得到了这个结果
02010606094D734F6E65000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000
第一个问题,数据只是第一次改变,然后一直这样,我收到的数据不像我用python脚本在RPI中测试的原始数据,这是在RPI中扫描的结果
a4:34:f1:3a:af:ab,54540400201818000e00000000000000,-74
a4:34:f1:3a:af:ab,5252040313061f015500050000020001,-84
谢谢你帮助我
【问题讨论】:
-
你的问题可能真的存在于任何地方,我会从源头开始,并确保被通告的数据包是有效的。当您未与设备配对时,您会收到 ADV 数据包,请参阅数据包结构 here。 Android 库需要一个有效的结构,在我的例子中,我们的自定义设备宣传了错误的数据包长度。您还应该提供更多信息,例如源代码、您使用的 android 版本和库、代码 sn-p 等。这里很少有信息可以缩小问题范围。
标签: android bluetooth-lowenergy