使用Hilt注入WorkManager遇错:getWorkManagerConfiguration未覆写任何内容
问题:Hilt注入WorkManager时实现Configuration.Provider接口报错
我尝试按照官方指引用Hilt注入WorkManager,但在实现Configuration.Provider接口时遇到问题。
我的代码如下:
@HiltAndroidApp class ExampleApplication : Application(), Configuration.Provider { @Inject lateinit var workerFactory: HiltWorkerFactory override fun getWorkManagerConfiguration() = Configuration.Builder() .setWorkerFactory(workerFactory) .build() }
我收到了**“getWorkManagerConfiguration overrides nothing”**的错误,无法正确实现接口的getter方法。查看接口代码发现它定义的是一个属性而非方法:
interface Provider { /** * The [Configuration] used to initialize WorkManager */ val workManagerConfiguration: Configuration }
错误截图:
解决方案
问题出在接口定义的是属性,而你用了方法来重写。把代码改成属性重写即可:
@HiltAndroidApp class ExampleApplication : Application(), Configuration.Provider { @Inject lateinit var workerFactory: HiltWorkerFactory override val workManagerConfiguration: Configuration get() = Configuration.Builder() .setWorkerFactory(workerFactory) .build() }
内容的提问来源于stack exchange,提问作者Song
相关产品推荐
相关产品推荐

