如何从 ReactApplication 中的 ReactNativeHost 中获取 MainActivity (Re



这个问题只指react-native 0.29及以后:

我正在使用一个模块,它要求我将主活动传递给它的构造函数。

直到 react-native 29 我曾经这样传递它:

@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new OrientationPackage(this), //<-------
    );
}

但是现在这部分代码必须在MainApplication内移动,我不再知道如何从代码的那部分访问 MainActivity。

这是我的MainApplication.java文件现在的样子:

public class PlaceAVoteApplication extends Application implements ReactApplication{

    private static CallbackManager mCallbackManager = new CallbackManager.Factory().create();
    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
        @Override
        protected boolean getUseDeveloperSupport() {
            return BuildConfig.DEBUG;
        }
        /**
         * A list of packages used by the app. If the app uses additional views
         * or modules besides the default ones, add more packages here.
         */
        @Override
        protected List<ReactPackage> getPackages() {
            return Arrays.<ReactPackage>asList(
                    new MainReactPackage(),
                    new OrientationPackage(this), //<-- Error here because this is not the MainActivity

            );
        }
    };
    @Override
    public ReactNativeHost getReactNativeHost() {
        return mReactNativeHost;
    }
}

有什么建议吗?

这对

我有用

@Override
    protected List<ReactPackage> getPackages() {
        return Arrays.<ReactPackage>asList(
                new MainReactPackage()
                ,new OrientationPackage(this)
        );
    }
};

最新更新