Rn 本地

public class RnModule extends ReactContextBaseJavaModule {

        public RnModule(ReactApplicationContext reactContext) {
            super(reactContext);
        }

        @Override
        public String getName() {
            return "RNCommonModule";
        }

        @ReactMethod
        public void goBackNative() {
            App.getInstance().removeActivity("com.ccpg.rnmould.StaffRnActivity");
        }
    }
public class RnPackage implements ReactPackage {
    @Override
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
        List<NativeModule> modules = new ArrayList<>();
        modules.add(new RnModule(reactContext));
        return modules;
    }

    @Override
    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        return Collections.emptyList();
    }
}
public class StaffRnActivity  extends ReactActivity{
    //对应JS端暴露出来的模组名称
    @Override
    protected String getMainComponentName() {
        return "eningSupplier";
    }

    /*    @Override
        protected boolean getUseDeveloperSupport() {
            return false;
        }

        @Override
        protected List<ReactPackage> getPackages() {
            return null;
        }*/
    @Override
    protected ReactActivityDelegate createReactActivityDelegate() {
        return new ReactActivityDelegate(this,getMainComponentName()){
            @Nullable
            @Override
            protected Bundle getLaunchOptions() {
                Bundle bundle = new Bundle();
                LogUtils.e("rn bundle:",getIntent().getStringExtra("moduleName"));
                LogUtils.e("rn bundle:", PreferencesUtils.getFieldStringValue(PreferencesUtils.mdmID));
                LogUtils.e("rn bundle:",PreferencesUtils.getFieldStringValue(PreferencesUtils.token));
                LogUtils.e("rn bundle:", BaseURLConfig.BASE_TOKEN_URL);
                bundle.putString("mdmId",PreferencesUtils.getFieldStringValue(PreferencesUtils.mdmID));
                bundle.putString("token", PreferencesUtils.getFieldStringValue(PreferencesUtils.token));
                bundle.putString("moduleName",getIntent().getStringExtra("moduleName"));
                bundle.putString("spmUrl", BaseURLConfig.BASE_TOKEN_URL);
                return bundle;
            }
        };
    }
}
Application implements ReactApplication
@Override
public ReactNativeHost getReactNativeHost() {

   return mReactNativeHost;
}
private final ReactNativeHost mReactNativeHost  =new ReactNativeHost(this) {
   @Override
   public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
   }

   @Override
   protected List<ReactPackage> getPackages() {

      return Arrays.<ReactPackage>asList(
            new MainReactPackage(),new RnPackage());

   }
};

猜你喜欢

转载自blog.csdn.net/www5256246/article/details/81331980
RN