Включить/выключить фонарик в 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();
}}>
Решение для меня было в: 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-кода.