如何从React Native Android模块访问Activity?

我试图跨越将功能保持在React Native的Android功能.我想我可以用一个简单的模块来做,但是我不知道如何从所述模块访问当前的Android Activity.

我需要Activity参考,所以我可以调用.getwindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);在上面

我试图通过这样的((Activity)getReactApplicationContext().getBaseContext())通过转换来获取活动,但是这会抛出一个“不能被转换为Android.app.Activity”错误

CustomreactPackage.java:
public class CustomreactPackage implements ReactPackage {

    private Activity mActivity = null;

    public CustomreactPackage(Activity activity) {
        mActivity = activity;
    }

    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
        List<NativeModule> modules = new ArrayList<>();
        // Add native modules here
        return modules;
    }

    public List<Class<? extends JavaScriptModule>> createJSModules() {
        return Collections.emptyList();
    }

    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        List<ViewManager> modules = new ArrayList<>();
        // Add native UI components here
        modules.add(new LSPlayerManager(mActivity));
        return modules;
    }
}

LSPlayerManager是我的本地UI组件.我定义一个构造函数,以便我可以传入活动:

public LSPlayerManager(Activity activity) {
    mActivity = activity;
}

最后在定义了ReactInstanceManager的MainActivity.java中,我们可以将该活动传递给我们的自定义React包:

mReactInstanceManager = ReactInstanceManager.builder()
        .setApplication(getApplication())
        .setBundleAssetName("index.android.bundle")
        .setJSMainModuleName("src/index.android")
        .addPackage(new MainReactPackage())
        .addPackage(new CustomreactPackage(this)) // <--- LIKE THIS!
        .setUseDeveloperSupport(BuildConfig.DEBUG)
        .setinitialLifecycleState(LifecycleState.RESUMED)
        .build();

REACT NATIVE更新为0.29.0

这不再是在本机模块中访问活动的方式.有关迁移说明,请参见https://github.com/facebook/react-native/releases/tag/v0.29.0

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...