如何在getPackages方法中将Activity传递给react本机模块?

时间:2016-07-13 17:00:55

标签: android react-native

我是react-native的新手,并且非常想创建一个模块。现在我要更新过时的模块。 我的一般问题是如何在运行包时获取当前活动? 旧方法是使用this关键字获取onCreate

中的当前活动
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mReactInstanceManager = ReactInstanceManager.builder()
      .setApplication(getApplication())
      .setBundleAssetName("index.android.bundle")
      .setJSMainModuleName("index.android")
      .addPackage(new MainReactPackage())
      .addPackage(new ThePackageClass(this))              // <------ custom package
      .setUseDeveloperSupport(BuildConfig.DEBUG)
      .setInitialLifecycleState(LifecycleState.RESUMED)
      .build();

    mReactRootView.startReactApplication(mReactInstanceManager, "ExampleRN", null);

    setContentView(mReactRootView);
  }

react-native的新更新并非如此。我不知道如何在getPackages方法下实现它。

@Override
protected List<ReactPackage> getPackages() {
  return Arrays.<ReactPackage>asList(
      new MainReactPackage(),
      new ThePackageClass(this) <-- this here doesnt work
  );
}

非常感谢任何帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

getPackagesReactNativeHost的方法,并且ReactNativeHost具有Application的引用,您可以在应用程序类中维护当前的前端活动来实现此目的。