Я впервые попробую библиотеку на kotlin, из-за этого я прочитал, что для первого сканирования мне нужно реализовать ее с implementation "com.polidea.rxandroidble2:rxandroidble:1.10.0"
, создать RxBleClient и установить параметры сканирования, но, похоже,быть проблема с методом scanBleDevices ().
Я пробовал код, который появляется в описании репозитория и код из примера kotlin.
С кодом из описания, естьтолько ошибка на scanBleDevices
rxBleClient = RxBleClient.create(this)
val 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(
{
// Process scan result here.
},
{
// Handle an error here.
}
);
// When done, just dispose.
scanSubscription.dispose();
С кодом из примеров kotlin, также есть ошибка с Observable, которая показывает No type arguments expected for class Observable
private fun scanBleDevices(): Observable<ScanResult> {
val scanSettings = ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES)
.build()
val scanFilter = ScanFilter.Builder()
//.setDeviceAddress("B4:99:4C:34:DC:8B")
// add custom filters if needed
.build()
return rxBleClient.scanBleDevices(scanSettings, scanFilter)
}
Проблема возникает сМетод scanBleDevices (), который выдает предупреждение, запрашивающее scanSettings и scanFilter, для чего они правильно его использовали:
None of the following functions can be called with the arguments supplied.
scanBleDevices(ScanSettings!, vararg ScanFilter!) defined in com.polidea.rxandroidble2.RxBleClient
scanBleDevices(vararg UUID!) defined in com.polidea.rxandroidble2.RxBleClient