这里我创建了应用程序类依赖关系。现在我想访问
@Module
@InstallIn(SingletonComponent::class)
class MyApplicationModule {
@Provides
fun providesMainApplicationInstance(application: MainApplication): MainApplication =
application
}
我的应用程序类是:
@HiltAndroidApp
class MainApplication : Application() {
override fun onCreate() {
super.onCreate()
}
fun printData(){
Log.d("Test","Awesome print data")
}
}
**我想从活动调用printData()函数。**我已使用字段注入访问应用程序类,但它给出错误...
@Inject lateinit var mainApplication: MainApplication
错误
[Dagger/DependencyCycle] Found a dependency cycle:
MainApplication is injected at MyApplicationModule.providesMainApplicationInstance(application)
2条答案
按热度按时间11dmarpk1#
这应该行得通:
Hilt可以注入应用程序上下文。您只需要简单地强制转换它。
好的话告诉我。
wfauudbj2#
Hilt自动生成
ApplicationContextModule.java
,它同时提供Context
和Application
。