Barcode scanning using react native

一曲冷凌霜 提交于 2019-11-30 23:54:51

问题


I am using react-native-camera to build a barcode scanner for Android and iOS both.

I am able to scan the barcode in iOS but the issue is there is no visual for the scanning boundary. And I want the whole screen to be able to scan the bar code not just the middle of the screen.

Is there any way around it? If there is some other library that would also work for me.


回答1:


Well it took me all day but I finally found a library that worked. If anyone finds their way here and is looking for a barcode scanner for react native that works on android...I am here to help.

https://github.com/ideacreation/react-native-barcodescanner

1st if you do not have rnpm get it...it is very helpful!(npm install -g rnpm)(https://github.com/rnpm/rnpm)

then run these commands in your project file:

npm install --save react-native-barcodescanner

rnpm link react-native-barcodescanner

at this point I synced gradle and reran the app from android studios...not sure if it is needed(also sometimes rnpm link forgets a new line character...if you have an error message about the word include it is because this...just find it in your setting.gradle file add a new line before the word include)

now it is ready to use.

import it:

import BarcodeScanner from 'react-native-barcodescanner';

then use it in your render function's return statment:

<BarcodeScanner
    onBarCodeRead={this._BarCodeRead}
    style={styles.preview}
    torchMode='off'
    cameraType='back'
  />

If you need more info check out that link. I hope this helped someone avoid the torture I endured going through library after old library that did not work.

Happy coding! :)




回答2:


I recommend using React Native Community's React Native Camera. It's quite well maintained and you can simply pass a callback prop to receive the output:

<RNCamera onBarCodeRead={this.handleBarCodeRead}></RNCamera>

Your callback will be invoked when a barcode is detected in the camera's view. From the docs:

Event contains data (the data in the barcode) and type (the type of the barcode detected).




回答3:


There is a react-native library for scanning QR codes with Highlighting scanning area with animated scan bar that moves up and down.

You can use isShowScanBar prop to show scan bar or either disable by passing false to this prop.

Github Link https://github.com/shifeng1993/react-native-qr-scanner#readme

It's npm is also here https://www.npmjs.com/package/react-native-qr-scanner

It's props are listed here https://www.npmjs.com/package/react-native-qr-scanner#qrscanner

Firstly, Install the react-native-camera library as this library is dependent on it.

Just run this command in root directory of your project npm i react-native-qr-scanner

then run this link command react-native link react-native-camera && react-native-qr-scanner

Import it using : import {QRscanner} from 'react-native-qr-scanner';

 <QRscanner onRead={this.onRead}
    cornerBorderColor ='black'
    cornerRadius={40}
    isRepeatScan = {true}
    cornerBorderRadius={40}
    cornerColor ='black'
    scanBarColor='black'
    cornerBorderWidth={10}
    cornerBorderLength={60}
    hintText="Please Align QRCode"
    renderBottomView={this.bottomView} flashMode={this.state.flashMode}
    finderY={50}/>

 onRead = (res) => {
   alert(JSON.stringify(res))
}

It works for both Android and iOS




回答4:


js.coach is a good place to look for react native plugins

https://github.com/ideacreation/react-native-barcodescanner

https://github.com/leofidjeland/react-native-barcode




回答5:


Just found universal code scanner - combines android and ios: https://www.npmjs.com/package/react-native-barcode-scanner-universal

Tried on Android works just fine.




回答6:


Expo provides BarCodeScanner component out of the box (preinstalled in managed apps).

It works like a charm, I definitely recommend it.

You can see if BarCodeScanner works with your bar code, try it in snack: https://snack.expo.io/@documentation/barcodescanner-example



来源:https://stackoverflow.com/questions/35309933/barcode-scanning-using-react-native

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!