最近,生命周期库已更新,因此应该可以在 Compose Multiplatform 中使用它。
问题是我无法让它工作。我尝试添加生命周期观察者,但是当我尝试调试时,我没有从 oncreate、onresume 等事件获取日志。
有人设法让它发挥作用吗?
LifecycleEventObserver { source, event ->
when(event) {
Lifecycle.Event.ON_RESUME -> {
println("Hello from onresume")
}
else -> { println("Hello from ${event.name}")}
}
}
我按照文档中的描述执行了以下操作,它在桌面上按预期工作。
添加了这些依赖项:
implementation("org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.1")
// To make coroutines and flows in lifecycles work correctly on desktop:
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.1")
然后在我的@Composable
函数中:
val observer = remember {
LifecycleEventObserver { source, event ->
when (event) {
Lifecycle.Event.ON_RESUME -> {
println("Resumed")
}
else -> {
println(event.name)
}
}
}
}
LocalLifecycleOwner.current.lifecycle.addObserver(observer)