0

ネイティブカメラに反応する、onBarCodeReadが機能しない、反応したネイティブカメラがインストールされている、コードがcammeraをトリガーするが、onBarCodeRead機能でもバーコードを読み取らない。 以下の私のコードとscreenshootネイティブカメラに反応するonBarCodeReadが機能しない

import React, { Component } from 'react'; 
import { Image, Platform } from 'react-native'; 
import { connect } from 'react-redux'; 
import { Actions } from 'react-native-router-flux'; 
import { Container, Header, Title, Content, Button, Icon, List, ListItem, Text, Footer, Left, Right, Body } from 'native-base'; 

import styles from './styles'; 
import { UserLogin, username,password} from '../../actions/index.js'; 
import Spinner from 'react-native-loading-spinner-overlay'; 
import Camera from 'react-native-camera'; 
const glow2 = require('../../../images/glow2.png'); 

const backgroundImage = require('../../../images/glow2.png'); 
const logo = require('../../../images/logo.png'); 
class Qrcamera extends Component { 
    render() { 
    return (
    <Container style={{ backgroundColor: '#fff' }}> 
     <Image source={glow2} style={styles.container} > 

     <Header style={{ backgroundColor: '#004774' }} > 
     <Left> 
      <Button transparent onPress={this.props.openDrawer} > 
      <Icon active name="menu" style={{ fontSize: 30, lineHeight: 32 }} /> 
      </Button> 
     </Left> 
     <Body> 
      <Title>Scanner</Title> 
     </Body> 
     <Right /> 

     </Header> 

     <Content padder style={{ backgroundColor: 'transparent' }}> 

     <Camera 
     ref={(cam) => { 
     this.camera = cam; 
     }} 
     style={styles.preview} 
     aspect={Camera.constants.Aspect.fill} 
     onBarCodeRead={this._bacr()} 
     barCodeTypes={['org.iso.QRCode']} 
     > 

    </Camera> 


     </Content> 


    </Image> 
    </Container> 
); 
} 
_bacr(){ 
    alert("hey sported barcode!"); 
} 

} 

export default connect()(Qrcamera); 

enter image description here

答えて

0

翻訳

は、あなたは自分のbarCodeTypesが間違って宣言していることではないですか?

barCodeTypes={[Camera.constants.BarCodeType.qr]} 

とそれだけで正常に動作します: 鉱山は、QRコードを読み取るため、このようなものです。これにあなたのbarCodeTypesを変更して、もう一度それを試してみて、ちょうどその変化このことを確認してください:この中

onBarCodeRead={this._bacr()} 

onBarCodeRead={this._bacr.bind(this)} 

か:

は、お使いのカメラが読み取っ
onBarCodeRead={()=>{this._bacr()}} 

そうでない場合は、 QRcodeを実行すると機能が起動しません。

関連する問題