RxAndroidBLE:映射程序返回空的SingleSource
我使用以下代码监听来自蓝牙设备的未经请求的消息。例如,我希望有一个字节数组,其中的文本是“datc00099”。相反,映射程序返回一个空的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 {
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吗?