Включение / выключение фонарика в QRcodeScanner React native - альтернативное решение - PullRequest
0 голосов
/ 08 июля 2019

Включение / выключение фонарика в QRcodeScanner React native

Я следовал приведенному выше уроку, но все еще не работал. При нажатии на сенсорную прозрачность вспышка не включается.

Проблема такая же, как и проблема отправки, но решение для него не работает для меня, не знаю почему.

UPDATE Я нашел решение, если другой пост не работает для вас, вы должны попробовать это шаг за шагом. Вероятно, это будет объединено в будущем PR в реагирующем родном qrcode-scanner, но сейчас это должно решить.

import QRCodeScanner from "react-native-qrcode-scanner";
import { RNCamera } from "react-native-camera"

Реквизиты в QRCodeScanner:

cameraStyle={{ height: SCREEN_HEIGHT }}
cameraProps{{ flashMode: this.state.isFlashOn ? RNCamera.Constants.FlashMode.torch : RNCamera.Constants.FlashMode.off, captureAudio: false }}
customerMarker={this.renderCustomMarker} />

Кнопка:

<TouchOpacity activeOpacity={1} onPress={() => {
       this.setState({isFlashOn: !this.state.isFlashOn});
       this.scanner.reactivate();
    }}>

1 Ответ

0 голосов
/ 16 июля 2019

Решение для меня было в: https://github.com/moaazsidat/react-native-qrcode-scanner/issues/117

Спасибо @ Albert0405!

Вот исправление от @ Albert0405 для моей проблемы:

1) Перейдите на node_modules и найдите реагировать-родной-qrcode-сканер папку и откройте index.js

2) find _renderCamera () и затем в компоненте Camera, измените это

<Camera
   type={cameraType}
   flashMode={this.props.flashMode} // Just add this line
   style={[styles.camera, this.props.cameraStyle]}
   onBarCodeRead={this._handleBarCodeRead.bind(this)}
>
    {this._renderCameraMarker()}
</Camera>

3) Последний шаг - использование Flash наваш проект

import QRCodeScanner from "react-native-qrcode-scanner";
import { RNCamera } from "react-native-camera";

<QRCodeScanner
    flashMode={this.state.isFlashOn ? RNCamera.Constants.FlashMode.torch : RNCamera.Constants.FlashMode.off}
/>

CameraProps у меня не работает.Поэтому я заменил его на код flashMode выше.

RNCamera.Constants.FlashMode.torch - Включить фонарик RNCamera.Constants.FlashMode.off - Отключить фонарик flashMode - это поле для установки Flash на RNCamera

. Этот шаг за шагом позволяет установить flashMode из реакции-нативнойqrcode-scanner.

Ссылка: https://github.com/react-native-community/react-native-camera/blob/master/docs/RNCamera.md

...