如何从ReactApplication

时间:2016-07-13 22:51:05

标签: java android react-native react-native-android

此问题仅涉及react-native 0.29及以后:

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

直到反应原生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;
    }
}

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这对我有用

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