В следующем коде поле serviceUtil не вводится Dagger:
AppController.kt
class App : Application() {
@Inject
lateinit var serviceUtil: ServiceUtil
init {
DaggerAppComponent
.builder()
.build()
.inject(this)
}
override fun onCreate() {
super.onCreate()
context = this
}
fun startService() {
serviceUtil.startService()
}
companion object {
lateinit var context: App
}
}
AppComponent.kt
@Singleton
@Component(modules = [(ServiceUtilModule::class)])
interface AppComponent {
fun inject(app: Application)
}
ServiceUtilModule.kt
@Module
class ServiceUtilModule {
@Provides
fun provideServiceUtil() : ServiceUtil {
return ServiceUtil()
}
}
Из основной деятельности я звоню:
App.context.startService()