RxAndroidBle-使用回调类型所有匹配或回调类型第一匹配时的不同结果

RxAndroidBle-使用回调类型所有匹配或回调类型第一匹配时的不同结果,android,bluetooth-lowenergy,rxandroidble,Android,Bluetooth Lowenergy,Rxandroidble,使用CALLBACK\u TYPE\u ALL\u MATCHES参数时,我无法找到我的ble设备,但当我通过CALLBACK\u TYPE\u FIRST\u MATCH更改此参数时,结果与预期一致。 不幸的是,CALLBACK\u TYPE\u FIRST\u MATCH无法与多部手机配合使用 scanDisposable = rxBleClient.scanBleDevices( ScanSettings.Builder()

使用
CALLBACK\u TYPE\u ALL\u MATCHES
参数时,我无法找到我的ble设备,但当我通过
CALLBACK\u TYPE\u FIRST\u MATCH
更改此参数时,结果与预期一致。 不幸的是,
CALLBACK\u TYPE\u FIRST\u MATCH
无法与多部手机配合使用

scanDisposable = rxBleClient.scanBleDevices(
                ScanSettings.Builder()
                        .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
                        .setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
                        .build(),
                ScanFilter.Builder()
                        .setServiceUuid(ParcelUuid(UUID_SERVICE))
                        .build()
                )
                ?.observeOn(AndroidSchedulers.mainThread())
                ?.doOnDispose { }
                ?.subscribe(Consumer { scanResult ->
                    Log.d("Scan Result", scanResult.bleDevice.name + " - " + scanResult.bleDevice.macAddress)
                },
                    Consumer<Throwable> { onScanFailure(it) })
scanDisposable=rxBleClient.scandbleDevices(
ScanSettings.Builder()
.setScanMode(扫描设置.SCAN\u模式\u低延迟)
.setCallbackType(扫描设置.回调类型\u所有匹配项)
.build(),
ScanFilter.Builder()
.setServiceUuid(PARCELUID(UUID_服务))
.build()
)
?.observeOn(AndroidSchedulers.mainThread())
?doOnDispose{}
?订阅(消费者{scanResult->
Log.d(“扫描结果”,scanResult.bleDevice.name+“-”+scanResult.bleDevice.macAddress)
},
消费者{onScanFailure(it)})
Android Pixel能够找到与
回调类型\u FIRST\u匹配的设备
,但无法找到与
回调类型\u ALL\u匹配的设备


Galaxy S5 Neo能够找到具有
CALLBACK\u TYPE\u ALL\u MATCH
CALLBACK\u TYPE\u FIRST\u MATCH
的设备,并发送
BleScanException。从您正在编写的内容中扫描出硬件资源失败的设备可能您可以使用这两个选项来解决问题(当然,您需要启动两个单独的扫描)我目前正在开发蓝牙应用程序,我面临着与您类似的问题。Sony xperia在设置为CALLBACK_TYPE_ALL_MATCHES时完全忽略广告,即使不使用RxAndroidBle,它也会忽略广告,因此我假设问题不在RxAndroidBle库中。谢谢,这很有帮助。您是否找到任何可能解决CALLBACK_TYPE_ALL_MATCHES设置没有结果的问题的方法?我在过去的一周里一直在努力解决这个问题,但还没有成功。同时运行两次扫描就成功了。。。我对这个解决方案不是很满意,但我认为我没有选择,这是可行的。一旦我找到我的设备,我就会处理两次扫描。