RxAndroidBLE: преобразователь возвратил нулевой SingleSource - PullRequest
1 голос
/ 28 марта 2019

Я использую следующий код для прослушивания незапрошенного сообщения от моего устройства 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

Отладка:

enter image description here

...