我试图在ViewModel中使用工作管理器在服务器上上传文件,那么如何注入工作管理器?
我尝试了这个https://developer.android.com/training/dependency-injection/hilt-jetpack
但它似乎未完成,找不到HiltWorkerFactory
@HiltAndroidApp
class App : Application(), Configuration.Provider {
@Inject
lateinit var workerFactory: HiltWorkerFactory
override fun getWorkManagerConfiguration() = Configuration.Builder()
.setWorkerFactory(workerFactory)
.build()
}
答案 0 :(得分:1)
我不认为您可以将Work Manager注入到View模型中。您可以做的就是在视图模型中加入WorkManager的工作请求。
// Example from the documentation
val myWork: WorkRequest = // ... OneTime or PeriodicWork
WorkManager.getInstance(requireContext()).enqueue(myWork)
关于您的问题中包含的Application类的代码段,我想确保您已包含必需的依赖项。