This module is provided without guarantee or warranty (Updated strings to allow compatibility with the MC40 device)
React Native Android module to interface with Zebra's DataWedge Intent API
This module is useful when developing React Native applications for Zebra mobile computers, making use of the Barcode Scanner
npm install git+ssh://[email protected]/localz/react-native-datawedge-intents --save
react-native link react-native-datawedge-intents
Note: as of ReactNative version 0.27 automatic installation of modules is supported via react-native link ... If you are running a version earlier than 0.26 then you will be required to manually install the module. More detail on manual installation of a typical module can be found here.
Please see RNDataWedgeIntentDemo for a sample application that makes use of this module, file index.android.js
import DataWedgeIntents from 'react-native-datawedge-intents'
...
// Register a receiver for the barcode scans with the appropriate action
DataWedgeIntents.registerReceiver('com.zebra.dwintents.ACTION', '');
...
// Declare a handler for barcode scans
this.scanHandler = (deviceEvent) => {console.log(deviceEvent);};
...
// Listen for scan events sent from the module
DeviceEventEmitter.addListener('barcode_scan', this.scanHandler);
...
// Initiate a scan (you could also press the trigger key)
DataWedgeIntents.sendIntent(DataWedgeIntents.ACTION_SOFTSCANTRIGGER,DataWedgeIntents.START_SCANNING);
This module requires the DataWedge service running on the target device to be correctly configured to broadcast Android intents on each barcode scan with the appropriate action:
Please also ensure you disable the keyboard output plugin to avoid undesired effects on your application: https://developer.zebra.com/message/95397?et=watches.email.thread#95397
For more information about DataWedge and how to configure it please visit Zebra tech docs. The DataWedge API that this module calls is detailed here