微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android BLE 扫描无法解析某些设备上的 ScanRecord

如何解决Android BLE 扫描无法解析某些设备上的 ScanRecord

我的问题是,在某些设备上,ScanResult.getDevice()ScanResult.getScanRecord() 在某些 Android 设备上都返回 null,但在大多数设备上都可以正常工作。如果我无法可靠地调用 getDevice(),我该如何连接?

当我在回调的 onScanResult 中查看结果的 toString 时,我确实看到工作和不工作的设备之间存在细微差别。

这是带有故障设备的结果字符串。

{device=F1:6B:2E:01:43:88,scanRecord=ScanRecord [mAdvertiseFlags=5,mServiceUuids=null,mServiceSolicitationUuids=[],mManufacturerSpecificData={},mServiceData={},mTxPowerLevel=-2147483648,mDeviceName=MYDEVICE],RSSi=-38,timestampNanos=10844927511936,eventType=27,primaryPhy=1,secondaryPhy=0,advertisingSid=255,txPower=127,periodicAdvertisingInterval=0}

这是带有工作设备的结果字符串。

{device=F1:6B:2E:01:43:88,mDeviceName=MYDEVICE,**mTDSData=null**],RSSi=-65,timestampNanos=131383632077590,periodicAdvertisingInterval=0}

我注意到的一个区别是故障设备不包括 mTDSData=null

我的设置详情:

  • nrf51422 BLE 外设。
  • 编译 Android api 30 分钟 api 23
  • 运行 Android 10 和蓝牙 4.2 的工作设备 Moto G7
  • 运行 Android 10 和蓝牙 4.0 的 RCA 7" 设备出现故障

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。