我正在为具有 Android 操作系统的设备开发条码扫描仪应用程序。在该设备中,motorola 提供用于扫描条码和获取数据的 SDK。我编写了一个用于渲染我的 UI 的 native 应用程序和用于获取条码的 native android。现在我写了什么想要做一些类似的事情,当原生 android 从摩托罗拉 sdk 获取扫描数据作为回调时,它应该将其传递给 rect native 。我尝试了回调方法,但 native 模块只能调用一次回调,这对我不起作用,因为项目会被扫描多次。

最佳答案

在 index.android.js 文件中添加这些行

    import {NativeEventEmitter } from 'react-native';

   class ReactNativeExample extends Component {
       constructor(props) {
           super(props);
           this.subscription = null;
          ....
       }

        componentDidMount() {
        const EVENT_NAME = new NativeEventEmitter(NativeModules.ChatMessageManager);
        this.subscription = EVENT_NAME.addListener(
                                 'EVENT_TAG',
                                 (message) => {
                                //Your logic
                                 });
    }

    componentWillUnmount() {
        this.subscription.remove();
    }

}

在 android 中,你想从 android native 发送数据以响应 native JS 调用这个
reactContext().getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
                .emit("EVENT_TAG", "PASS YOUR OBJECT");

关于react-native-android - 从 android native 传递连续回调以响应 native 组件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40113261/

10-14 22:01