React native,QR code Scanning Black screen in some devices

时间:2017-08-28 16:06:52

标签: android react-native android-camera barcode-scanner autofocus

我正在尝试使用反应原生库barcode-scanner-google

创建QR代码扫描程序

但面临黑屏问题。它也是一个开放的GitHub issue

任何人都可以在这里帮忙解决。

我发现这是某些Android版本和设备特有的。请在下面找到一些具有此问题复制的操作系统详细信息的设备。

  • Android版:6.0.1 Redmi Note 3
  • Android版本:7.1.1(不稳定的版本和带有cyanogen的移植版本每晚14.1)
  • Android版本:7.0.0(Lenovo K6 Power)

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并且找到了解决方法here

    import { withNavigationFocus } from "react-navigation";
    import QRCodeScanner from "react-native-qrcode-scanner";

    class QrCodeCamera extends Component {

          renderCamera() {
             const isFocused = this.props.navigation.isFocused();

             if (!isFocused) {
                 return null;
             } else if (isFocused) {
                 return (
                    <QRCodeScanner />
                 )
             }
          }

          render() {
             return (
               <View style={{ flex: 1 }}>
                  {this.renderCamera()}
               </View>
         }
    }

export default withNavigationFocus(QrCodeCamera);

这不是一个明确的解决方案,但它是一个可行的解决方法。在获得焦点之后,将显示QrCodeCamera视图,但这是比黑屏更好的功能;)。

答案 1 :(得分:0)

如果问题是当他们点击“返回”时会使相机屏幕变黑,您可以使用backHandler为该屏幕添加一个监听器以弹出到上一个屏幕。更多信息 - https://facebook.github.io/react-native/docs/backhandler.html