gpt4 book ai didi

android - react native : Get Lifecycle or LifecycleOwner in native module

转载 作者:行者123 更新时间:2023-12-04 01:08:01 28 4
gpt4 key购买 nike

我正在为 React Native 开发一个原生模块,它包装了 CameraX API。 CameraX API 是一个生命周期感知 API,所以它需要我传递一个 androidx Lifecycle (或 androidx LifecycleOwner )进入它的构造函数。

由于这些是 androidx 类,因此无法从 React Native 上下文中获取 Lifecycle(或 LifecycleOwner)。

但是有 ReactContext::addLifecycleEventListener ,这是 React Native ( LifecycleEventListener ) 的自定义生命周期事件监听器实现,我现在正尝试将其“转换”/映射到 androidx Lifecycle(或 LifecycleOwner ),但我不知道该怎么做。

val lifecycle: Lifecycle = ???

reactContext.addLifecycleEventListener(object : LifecycleEventListener {
override fun onHostResume() {
TODO("Not yet implemented")
}

override fun onHostPause() {
TODO("Not yet implemented")
}

override fun onHostDestroy() {
TODO("Not yet implemented")
}
})

cameraProvider.bindToLifecycle(lifecycle, cameraSelector, preview)

我现在的问题是:如何从我的 React 生命周期“创建”Lifecycle(或 LifecycleOwner)实例?

如果有任何帮助,我将不胜感激。

最佳答案

解决方案是从 react 上下文中转换当前 Activity :

private val lifecycle: Lifecycle by lazy {
((context as ReactContext).currentActivity as AppCompatActivity).lifecycle
}

关于android - react native : Get Lifecycle or LifecycleOwner in native module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65685027/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com