我需要通过以下方式在MainActivity
的onCreate函数中调用 native 模块:context.getNativeModule(RNBackgroundToForegroundServiceModule.class)
但是我不确定如何在其中获取当前的ReactContext
。
我尝试使用(ReactContext) getApplicationContext()
,但崩溃了。
如何获得有效的ReactContext
?
最佳答案
我自己想出了正确的答案。
我们必须等到Javascript bundle 包加载完毕。
ReactInstanceManager mReactInstanceManager = getReactNativeHost().getReactInstanceManager();
ReactApplicationContext context = (ReactApplicationContext) mReactInstanceManager.getCurrentReactContext();
mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
public void onReactContextInitialized(ReactContext validContext) {
// Use validContext here
}
});