1

我的问题是在某些设备上,在某些 Android 设备上ScanResult.getDevice()或两者都返回 null,但在大多数设备上都可以正常工作。ScanResult.getScanRecord()如果我不能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, scanRecord=ScanRecord [mAdvertiseFlags=5, mServiceUuids=null, mServiceSolicitationUuids=[], mManufacturerSpecificData={}, mServiceData={}, mTxPowerLevel=-2147483648, mDeviceName=MYDEVICE, **mTDSData=null**], rssi=-65, timestampNanos=131383632077590, eventType=27, primaryPhy=1, secondaryPhy=0, advertisingSid=255, txPower=127, periodicAdvertisingInterval=0}

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

我的设置的详细信息:

  • nrf51422 BLE 外设。
  • 编译 Android api 30 分钟 api 23
  • 运行带有蓝牙 4.2 的 Android 10 的工作设备 Moto G7
  • 运行带有蓝牙 4.0 的 Android 10 的失败设备 RCA 7"
4

0 回答 0