在QRcodeScanner React native中打开/关闭手电筒-替代解决方案

时间:2019-07-08 20:09:51

标签: android react-native android-camera qr-code flashlight

Turn flashlight on/off In QRcodeScanner React native

我已经按照上面的教程进行操作,但是仍然无法正常工作。按下触摸不透明度并不会打开闪光灯。

问题与发送问题相同,但是他的解决方案对我不起作用,不知道为什么。

更新 我已经找到了解决方案,如果其他帖子对您不起作用,则应逐步尝试此操作。可能会在以后的PR中合并到react-native-qrcode-scanner中,但现在应该可以解决。

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

我的解决方案是: https://github.com/moaazsidat/react-native-qrcode-scanner/issues/117

感谢@ Albert0405!

这是@ Albert0405解决的问题:

1)转到 node_modules 并找到 react-native-qrcode-scanner 文件夹并打开 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 是用于在RNCamera上设置Flash的字段

此步骤的逐步作用是使 flashMode 可以从react-native-qrcode-scanner进行设置。

参考:https://github.com/react-native-community/react-native-camera/blob/master/docs/RNCamera.md