Kotlin 如何从 android.app.Application 启动异步处理

问题描述

我是 Kotlin 的新手,并尝试在 android.app.Application

内启动异步后端调用 @H_404_4@import android.app.Application; class App: Application { override fun onCreate() { super.onCreate() fetchDataFromBackend() } fun fetchDataFromBackend() { lifecycleScope.launch { // Fetches data from backed. } } }

问题是 lifecycleScope.launch 不能从应用程序中使用,我已经从 Activity/Fragments 和 viewmodelScope 为我的 viewmodel 做了同样的事情。

我想在应用程序中做同样的事情,有人有什么建议吗?

解决方法

您可以使用 ProcessLifecycleOwner,它与 Application 对象具有相同的生命周期。

ProcessLifecycleOwner.get().lifecycleScope.launch {
  // Fetches data from backend
}