我正在尝试使用 dagger hilt 注入协同工作程序,我已按照文档中的所有说明进行操作
https://developer.android.com/training/dependency-injection/hilt-jetpack 用于“工人”而不是“协程工人”..
但它给出了一个错误:
java.lang.NoSuchMethodError: No interface method getBackgroundExecutor()Ljava/util/concurrent/Executor
..在stackoverflow上发布了同样的问题,但答案不适合我的情况
这是代码和错误
如果有人可以提供帮助,我将不胜感激……这是我的代码
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)