首页 > 解决方案 > @ContributesAndroidInjector 在扩展 CordovaActivity 的活动上

问题描述

根据 Dagger 的文档,我可以在具体的 Android 框架类型上使用 ContributesAndroidInjector 。我将无法扩展 DaggerActivity,因为我有一个混合应用程序,在我的情况下,我通过扩展 CordovaActivity 来使用我的活动。在这些情况下应该采取什么方法?

我是否应该退回到 2.10 之前的方式来注册由 Dagger 注入的 Activity,如下所示在 Activity 的onCreate().

@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ((App)getApplication())
        .getAppComponent()
        .inject(this);
  }

通过这样做,我必须重写我的 Application 类以返回 appComponent ,这再次违背了 DI 的目的。

您能否指导我正确的路径,提供一些输入来处理这种情况。

标签: androiddagger-2

解决方案


推荐阅读