我正在使用Dagger 2并使其工作,但我现在需要访问Android应用程序上下文.
我不清楚如何注入和访问上下文.我试过这样做如下:
@Module
public class MainActivityModule {
private final Context context;
MainActivityModule(Context context) {
this.context = context;
}
@Provides @Singleton
Context provideContext() {
return context;
}
Run Code Online (Sandbox Code Playgroud)
但是,这会导致以下异常:
java.lang.RuntimeException:无法创建应用程序:java.lang.IllegalStateException:必须设置mainActivityModule
如果我检查Dagger生成的代码,则会在此处引发此异常:
public Graph build() {
if (mainActivityModule == null) {
throw new IllegalStateException("mainActivityModule must be set");
}
return new DaggerGraph(this);
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是注入Context的正确方法 - 任何帮助将不胜感激.