React-native module for scanning RFID tags with Zebra RFD8500
Install the module
npm install --save react-native-zebra-rfid
Link native dependencies
react-native link
Add the node_modules
library directory in repositories under build.gradle
, e.g. (added the flatDir
line):
allprojects {
repositories {
google()
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
// Manually added for react-native-zebra-rfid
flatDir { dirs "$rootDir/../node_modules/react-native-zebra-rfid/android/libs" }
}
}
This module includes the Zebra RFID API3_SDK_2.0.0.2.aar
file included. Depending on your setup you may need to override some settings in the aar, e.g. minsdk
or allowBackup
, in the android manifest.
import RFIDScanner, { RFIDScannerEvent } from 'react-native-zebra-rfid';
// Init and connect
RFIDScanner.init();
// Register callback
RFIDScanner.on(RFIDScannerEvent.TAGS, onRfidResult);
// Remove callback
RFIDScanner.removeon(RFIDScannerEvent.TAGS, onRfidResult);
// Shutdown
RFIDScanner.shutdown();
// Callback, tags is an array of strings
// Read triggered by hardware trigger, or
// programmatically by calling
// RFIDScanner.read() or RFIDScanner.cancel()
const onRfidResult = (tags) => {
console.info(' TAGS: ' + JSON.stringify(tags));
}