RxAndroidBLE:映射程序返回空的SingleSource

RxAndroidBLE:映射程序返回空的SingleSource,android,bluetooth-lowenergy,rx-java2,rxandroidble,rxbluetooth,Android,Bluetooth Lowenergy,Rx Java2,Rxandroidble,Rxbluetooth,我使用以下代码监听来自蓝牙设备的未经请求的消息。例如,我希望有一个字节数组,其中的文本是“datc00099”。相反,映射程序返回一个空的SingleSource。这里会出什么问题 val charUUID = scanResult.scanRecord.serviceUuids?.get(0)?.uuid /* Establish connection to device */ rxBleDevice!!.establishConnection(false) ? .doOnNext {

我使用以下代码监听来自蓝牙设备的未经请求的消息。例如,我希望有一个字节数组,其中的文本是“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
调试:


可能是
charUUID
为空。你是对的。它为空。@EpicPandaForce您知道如何获取正确的UUID吗?可能
charUUID
为空您是对的。它为空。@EpicPandaForce您知道如何获取正确的UUID吗?