Я использую следующий код для прослушивания незапрошенного сообщения от моего устройства Bluetooth LE.Я ожидаю байтовый массив с текстом, который говорит, например, «datc00099».Вместо этого маппер возвращает нулевой SingleSource.Что может быть не так?
val charUUID = scanResult.scanRecord.serviceUuids?.get(0)?.uuid
/* Establish connection to device */
rxBleDevice!!.establishConnection(false) ?
.doOnNext {
_ ->
Log.d("Device: ", "Connection Established")
} ?
.flatMapSingle {
rxBleConnection ->
charUUID ? .let {
rxBleConnection.readCharacteristic(it)
}
} ? .subscribe({
count ->
// count should be in bytes
println("OUTPUT: $count")
}, {
throwable ->
Log.d("ERROR: ", "$throwable")
})
Ошибка:
D/ERROR:: java.lang.NullPointerException: The mapper returned a null SingleSource
Отладка: