Контекст:
У меня с собой два устройства: 1. LG G7 2. Huawei Pra LX1
В настоящее время я использую реализацию "com.polidea.rxandroidble2:rxandroidble:1.10.0"
Когда я звоню
Disposable scanSubscription = rxBleClient.scanBleDevices(
new ScanSettings.Builder()
// .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY) // change if needed
// .setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES) // change if needed
.build()
// add filters if needed
)
.subscribe(
scanResult -> {
// Process scan result here.
},
throwable -> {
// Handle an error here.
}
);
Я получаю различное поведение, когда я вызываю getScanRecord().getServiceData() в объекте scanResults:
Для устройства №1 я получаю массив со значением (что верно) Для устройства №2 я получаю пустой массив (неверно)
Дело в том, что я использую третье приложение (nRF Connect), чтобы узнать, есть ли у устройства № 2 какое-либо аппаратное ограничение, и я вижу, что в рекламе есть информация ServiceData с 1 результатом, как и ожидалось.
Я делаю что-то не так?