react-native-navigation的迁移库

NavigationReactEventEmitter.java 1.0KB

123456789101112131415161718192021222324252627
  1. package com.reactnativenavigation.bridge;
  2. import com.facebook.react.bridge.Arguments;
  3. import com.facebook.react.bridge.ReactContext;
  4. import com.facebook.react.bridge.WritableMap;
  5. import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter;
  6. public class NavigationReactEventEmitter {
  7. private static final String KEY_EVENT_ID = "id";
  8. private static final String KEY_EVENT_TYPE = "type";
  9. private static final String EVENT_TYPE = "NavBarButtonPress";
  10. private RCTDeviceEventEmitter eventEmitter;
  11. public NavigationReactEventEmitter(ReactContext reactContext) {
  12. this.eventEmitter = reactContext.getJSModule(RCTDeviceEventEmitter.class);
  13. }
  14. public void sendEvent(String eventId, String navigatorEventId) {
  15. WritableMap params = Arguments.createMap();
  16. params.putString(KEY_EVENT_TYPE, EVENT_TYPE);
  17. params.putString(KEY_EVENT_ID, eventId);
  18. params.putString("navigatorEventID", navigatorEventId);
  19. eventEmitter.emit(navigatorEventId, params);
  20. }
  21. }