【问题标题】:How to provide application class using hilt如何使用 hilt 提供应用程序类
【发布时间】:2021-01-18 12:08:55
【问题描述】:

我使用的库需要我正在使用的 Application 类(而不是应用程序上下文)来工作

它的构建器类似于Library.Builder.setApplication(app).setParameters(...).build()

有没有办法在 Hilt 中使用当前创建的应用程序? @ApplicationContext 显然不起作用

【问题讨论】:

    标签: android dependency-injection dagger-hilt


    【解决方案1】:

    我不是 100% 确定,但也许您可以将 Application Context 转换为 Application 类。当我在提供方法中需要 Activity 实例时,我遇到了类似的问题。我从 Hilt 注释中投射 Activity Context 并且它有效。

    【讨论】:

    • 我将您的回复标记为正确,因为它确实有效,您可以将 @ApplicationContext 强制转换为您的自定义应用程序,但请注意,您可以将提供的方法传递给 app:Application argument ,因为 Hilt 似乎总是默认创建那个,它不需要任何注释
    【解决方案2】:

    只需注入 Application 类:

    class MyClass @Inject constructor(
        private val application: Application,
    ) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多