小编Min*_*aac的帖子

使用 Hilt 注入 CoroutineWorker

我正在尝试使用 dagger hilt 注入协同工作程序,我已按照文档中的所有说明进行操作

https://developer.android.com/training/dependency-injection/hilt-jetpack 用于“工人”而不是“协程工人”..

但它给出了一个错误:

java.lang.NoSuchMethodError: No interface method getBackgroundExecutor()Ljava/util/concurrent/Executor

..在stackoverflow上发布了同样的问题,但答案不适合我的情况

无法使用 Hilt 注入 workmanager 构造函数

这是代码和错误

如果有人可以提供帮助,我将不胜感激……这是我的代码

package com.example.moviemania.work

import android.content.Context
import androidx.hilt.Assisted
import androidx.hilt.work.WorkerInject
import androidx.work.CoroutineWorker
import androidx.work.WorkerParameters
import com.example.moviemania.repository.MainRepository
import retrofit2.HttpException

class RefreshDataWorker @WorkerInject constructor (
    @Assisted appContext: Context,
    @Assisted params: WorkerParameters,
    val mainRepository: MainRepository
    ) : CoroutineWorker(appContext,params) {

    companion object {
        const val WORK_NAME = "com.example.moviemania.work.RefreshDataWorker"
    }

    override suspend fun doWork(): Result {
        try {
            mainRepository.refreshMovies()
        }catch (e: HttpException){
            return Result.retry()
        }
        return Result.success() …
Run Code Online (Sandbox Code Playgroud)

android coroutine kotlin dagger-hilt

6
推荐指数
2
解决办法
1702
查看次数

标签 统计

android ×1

coroutine ×1

dagger-hilt ×1

kotlin ×1