# react-native-scan-gun

Latest version **1.0.3** (published 2019-12-31) · 0 weekly downloads

## Install

```sh
npm install react-native-scan-gun
pnpm add react-native-scan-gun
yarn add react-native-scan-gun
bun add react-native-scan-gun
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2019-12-31 |
| First published | 2019-09-11 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 92.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8 |
| Maintainers | gongyonghui |
| Keywords | react-native, Scan, Gun, Scan-Gun, react-native-scan-gun, react-native-ScanGun |

## Links

- npm: https://www.npmjs.com/package/react-native-scan-gun
- Repository: https://github.com/Marcello168/react-native-scan-gun
- Homepage: https://github.com/Marcello168/react-native-scan-gun#readme
- Issues: https://github.com/Marcello168/react-native-scan-gun/issues
- npm.io page: https://npm.io/package/react-native-scan-gun

## Recent versions

- 1.0.3 (latest) — 2019-12-31
- 1.0.2 — 2019-09-11
- 1.0.1 — 2019-09-11
- 1.0.0 — 2019-09-11

## README

<!--
 * @Author: gongyonghui
 * @Date: 2019-09-11 13:12:42
 * @LastEditors: gongyonghui
 * @LastEditTime: 2019-09-11 15:19:16
 * @Description: file content
 -->

# 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. 重写`MainActivity`的`dispatchKeyEvent`方法 代码如下  具体可参考example的`MainActivity`文件

   ```java
       /*监听键盘事件,除了返回事件都将它拦截,使用我们自定义的拦截器处理该事件*/
    @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
2. 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')
  	```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
  	```
      compile project(':react-native-scan-gun')
  	```




## 使用方法
```javascript
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()
```

---
_Source: https://npm.io/package/react-native-scan-gun · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
