如何在ReactApplication的ReactNativeHost中获取MainActivity(ReactActivity)

3

这个问题只涉及到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;
    }
}

请给予任何建议?


你找到解决方案了吗? - Ed of the Mountain
1个回答

0

这对我有用

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,