Android 流未捕获AbortFLowException
我正在使用Juul Kable进行蓝牙低能耗连接。当扫描蓝牙设备时,我在查找元素时在Android 流未捕获AbortFLowException,android,kotlin,Android,Kotlin,我正在使用Juul Kable进行蓝牙低能耗连接。当扫描蓝牙设备时,我在查找元素时在Flow.first()函数中得到AbortFLowException。由于某些原因,flow.catch或周围的try-catch都无法捕获异常 scope.launch { try { var timeout = withTimeoutOrNull(SCAN_DURATION_MILLIS) { val advertisement = Scanner().adv
Flow.first()
函数中得到AbortFLowException。由于某些原因,flow.catch
或周围的try-catch都无法捕获异常
scope.launch {
try {
var timeout = withTimeoutOrNull(SCAN_DURATION_MILLIS) {
val advertisement = Scanner().advertisements
.onCompletion { cause ->
if (cause != null) {
_scanStatus.value = ScanStatus.Stopped
}
}.catch { cause ->
cause.printStackTrace()
_scanStatus.value = ScanStatus.Failed(cause.message ?: "Unknown error")
}
.first {
Log.e(TAG, "Device found in first: ${(it.name ?: "Name empty")}")
it.isSmartCap
}
callback(advertisement)
}
if (timeout == null) {
_scanStatus.value = ScanStatus.Failed("Timeout")
}
} catch (e: Throwable) {
_scanStatus.value = ScanStatus.Failed(e.message ?: "Unknown error")
}
}
我相信这是一个在版本0.3.0
中已经修复的问题