sco*_*yab 6 android application-lifecycle android-lifecycle
我们有一个在创建应用程序时运行的任务,并且我们尝试将代码从应用程序对象的 onCreate 移动到它们自己的生命周期感知类。我已将ApplicationLifecycleAwareTaskRunner(a ) 添加到inLifecycleObserver的生命周期中,但它从未被调用。和被按预期调用。ProcessLifecycleOwnerApplication.onCreate()onCreate(owner: LifecycleOwner)onStart(..)onStop()
LifecycleObserver这是它无法观察事件的已知限制吗Application.onCreate()?或者我在这里缺少什么?
使用androidx.lifecycle:lifecycle-runtime-ktx:2.4.1
在应用程序对象中添加观察者。
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// DI and other init
ProcessLifecycleOwner.get().lifecycle.addObserver(ApplicationLifecycleAwareTaskRunner(..))
}
}
Run Code Online (Sandbox Code Playgroud)
任务运行者:
class ApplicationLifecycleAwareTaskRunner(
private val appCoroutineScope: CoroutineScope,
private val myTask: MyTask
) : DefaultLifecycleObserver {
// This is never called :(
override fun onCreate(owner: LifecycleOwner) {
appCoroutineScope.launch {
myTask.invoke()
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
689 次 |
| 最近记录: |