我正在尝试设置工作管理器以完成一些工作,但初始化时遇到了麻烦。 我正在使用KOIN workmaanger dsl。
implementation "org.koin:koin-androidx-workmanager:2.2.0-rc-4"
我的工作类如下所示
class NotificationsScheduler(
private val dispatchers: AppCoroutineDispatchers,
private val getTaskUseCase: GetTaskUseCase,
private val context: Context,
private val workerParameters: WorkerParameters
) : Worker(context, workerParameters) {
override fun doWork(): Result {
...
}
我目前所做的是禁用默认初始化程序。
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
我的worker模块设置如下:
val workerModule = module {
worker { NotificationsScheduler(get(), get(), get(), get()) }
}
这是添加到startKoin DSL使用的列表中的内容。我还使用了workManagerFactory() DSL来设置工厂。
startKoin {
androidContext(this@MyApplication)
workManagerFactory()
modules(koinModules)
}
我遇到的问题是,应用程序启动时崩溃并出现异常:
Caused by: org.koin.core.error.NoBeanDefFoundException: No definition found for class:'androidx.work.WorkerParameters'. Check your definitions!