/react-native-scan-gun

React native Scan Gun Android 扫码枪

Primary LanguageJavaMIT LicenseMIT

React native 扫码枪 react-native-scan-gun

开始使用

$ npm install react-native-scan-gun --save

自动链接原生库

$ react-native link react-native-scan-gun

链接完原生库后 需要在MainActivity里面 增加 如下代码

  1. 导入 import com.reactlibrary.ScanGunManager;

  2. 重写MainActivitydispatchKeyEvent方法 代码如下 具体可参考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

  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.reactlibrary.RNScanGunPackage; to the imports at the top of the file
  • Add new RNScanGunPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-scan-gun'
    project(':react-native-scan-gun').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-scan-gun/android')
    
  2. Insert the following lines inside the dependencies block in 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()