我在Android上发现BLE设备时,在某些设备上有这个onScanFailed
错误代码(LG更详细)。代码在其他设备上按预期工作。我该如何解决?
我使用BLE API 21+和以下代码来发现:
ScanSettings scanSettings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.setReportDelay(discoveryDelay)
.build();
答案 0 :(得分:7)
某些设备不支持新LE API的所有功能。这些功能是特定于硬件的,并且由制造商决定。最好的方法是在构建过滤器和设置之前检查支持的功能。
bluetoothAdapter.isOffloadedFilteringSupported();
bluetoothAdapter.isOffloadedScanBatchingSupported();
我不发现在不支持OffloadedFiltering
时发布过滤器的任何问题。
如果不支持OffloadedScanBatching
,则不应设置报告延迟。尝试将报告延迟设置为0
以外的任何内容都将导致错误。