Контекст:
У меня есть два устройства: 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.
Я что-то не так делаю?