android - RxAndroidBLE:映射器返回了一个空的 SingleSource
问题描述
我使用以下代码侦听来自我的蓝牙 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
调试: