React native Scan Gun Android 扫码枪
MIT License
$ npm install react-native-scan-gun --save
$ react-native link react-native-scan-gun
MainActivity
里面 增加 如下代码导入 import com.reactlibrary.ScanGunManager;
重写MainActivity
的dispatchKeyEvent
方法 代码如下 具体可参考example的MainActivity
文件
/*监听键盘事件,除了返回事件都将它拦截,使用我们自定义的拦截器处理该事件*/
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() != KeyEvent.KEYCODE_BACK) {
ScanGunManager.getInstance().analysisKeyEvent(event);
return true;
}
return super.dispatchKeyEvent(event);
}
android/app/src/main/java/[...]/MainActivity.java
import com.reactlibrary.RNScanGunPackage;
to the imports at the top of the filenew RNScanGunPackage()
to the list returned by the getPackages()
methodandroid/settings.gradle
:
include ':react-native-scan-gun'
project(':react-native-scan-gun').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-scan-gun/android')
android/app/build.gradle
:
compile project(':react-native-scan-gun')
import RNScanGun from 'react-native-scan-gun';
// TODO: What to do with the module?
RNScanGun;
// 监听扫码回调
DeviceEventEmitter.addListener(RNScanGun.onScanCodeRecevieData, (code) => {
this.setState({ code: code })
})
//手动清除上一次的二维码
RNScanGun.clearScanBarCodeText()