Rah*_*hra 5 android dependency-injection dagger-hilt
比方说,我有一个 MediaRecorder 类,我将在另一个片段中使用它,如下所示:
class Recorder @Inject constructor(
lifecycle: Lifecycle,
private val mediaRecorder: MediaRecorder
) : LifecycleObserver {
init {
lifecycle.addObserver(this)
}
fun startRecording() {
mediaRecorder.prepare()
mediaRecorder.start()
}
fun stopRecording() {
mediaRecorder.stop()
mediaRecorder.release()
}
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
fun onPauseEvent() {
mediaRecorder.pause()
}
}
Run Code Online (Sandbox Code Playgroud)
我想在这里注入我将在这里使用的片段/活动的生命周期。
我怎样才能做到这一点?
通过活动上下文进行尝试
class MyClass @Inject constructor(@ActivityContext context: Context) : LifecycleObserver {
init {
val activity = context as AppCompatActivity
activity.lifecycle.addObserver(this)
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
private fun onStart() {
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
private fun onStop() {
}
}
Run Code Online (Sandbox Code Playgroud)
如果此类在片段之间共享,则添加@ActivityScoped注释
| 归档时间: |
|
| 查看次数: |
1153 次 |
| 最近记录: |