我想在Service中注入View Model,怎么可能。
我最近开始通过 Dagger Hilt 在我的项目中使用 DI。将 viewModel 实例注入 Activity/Fragment 时没有任何问题。但我不知道如何将其注入服务
@AndroidEntryPoint
class MyService : Service(), ViewModelStoreOwner{
@Inject
lateinit var viewModelFactory: ViewModelProvider.Factory
private val viewModel by lazy {
ViewModelProvider(this, viewModelFactory)[MainViewModel::class.java]
}
private val store = ViewModelStore()
override val viewModelStore get() = store
}
@Module
@InstallIn(ServiceComponent::class)
object ServiceModule {
@Provides
fun provideMainViewModelFactory(repository: MyRepository)= viewModelFactory {
initializer { MainViewModel(repository) }
}
}