java - 如何从 ReactApplication 中的 ReactNativeHost 中获取 MainActivity (ReactActivity)

标签 java android react-native

本题仅针对react-native 0.29及以后的版本:

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

直到 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)
        );
    }
};

关于java - 如何从 ReactApplication 中的 ReactNativeHost 中获取 MainActivity (ReactActivity),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38362997/

相关文章:

java - 如何在java或android中读取unicode "\u1f40d"?

reactjs - React js 错误边界不适用于 Promise Catch

java - 从插件设置 Maven 属性

java - 即使启用了多重选择,也无法在 JFileChooser 中选择多个文件

java - 如何测试我的Android应用程序是否正在接收数据?

javascript - 更改按钮颜色 onPress(切换功能) React Native

javascript - 突出显示 FlatList 中的搜索文本 - React Native

java - 如何获取以下格式的日期 "dd MMM, yyyy z"

android - 如何制作一个文本,它会水平滚动其内容,而内容长于 android jetpack compose 中的大小?

android - 如何获取开始动画的 View 对象......?