我有一些与活动相关的内容(活动Context,FragmentManager等),在许多不同的地方都需要,并且在请求内容时活动已经被破坏。
class SomeBackgroundWorker {
@Inject lateinit var context: Context // Activity context!
fun doStuff() {
stuff.getDoing()
context?.let{
StuffDoneDialog(context).show()
}
}
}
我想到的可能解决方案:
.inject(this)
调用为可为空的组件,以及如果component为null会在@Inject
注释的字段中发生什么@Provide
。最佳做法是什么?