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

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

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

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

ОБНОВИТЬ Я нашел решение, если другой пост не работает для вас, вы должны попробовать это шаг за шагом. Вероятно, в будущем PR он будет объединен в react-native-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
4 577
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Спасибо @Albert0405!

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

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

2) найдите _renderCamera(), а затем в компоненте камеры измените это

<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 из react-native-qrcode-scanner.

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

ОБНОВЛЕНИЕ: это изменение реализовано в react-native-qrcode-scanner версии 1.2.2+. Мой PR был объединен и доступен для всех пользователей, чтобы узнать, как его использовать, прочтите Read Me для репозитория git.

Добавьте PR к github.com/moaazsidat/react-native-qrcode-сканер, чтобы исправить отсутствующие реквизиты на камере из модуля сканера QR-кода.

lcsvcn 19.07.2019 18:48

Другие вопросы по теме