我需要通过以下方式在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

            }
        });

08-04 01:07