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()); } };