본문 바로가기

Flutter

플러터(Flutter) 3.0 - QR Code Scanner 검은 화면 해결(qr_code_scanner)

반응형

 

 qr_code_scanner: ^1.0.0

기존 프로젝트에서 플러터 3.0으로 업데이트 및 qr_code_scanner 1.0.0 사용 시 검은 화면(아래 이미지처럼)만 나온다면 해결 방법입니다.

 

 

  void _onQRViewCreated(QRViewController controller) {
    this.controller = controller;

    controller.scannedDataStream.listen((scanData) {
      setState(() {
        result = scanData;
      });
    });
  }

위 기존 qr_code_scanner를 생성하는 코드를 아래 코드처럼 변경 해 주시면 됩니다.

 

  void _onQRViewCreated(QRViewController controller) {
  	// setState 추가 부분
    setState(() {
      this.controller = controller;
    });

    // 추가 부분 
    controller!.resumeCamera();

    controller!.scannedDataStream.listen((scanData) {
      setState(() {
        result = scanData;
      });
    });
  }

 

위 코드 처럼 qr_code_scanner 문제 해결 중 setState를 추가한 this.controller 적용 및 controller.resumeCamera() 카메라를 활성화시켜 주는 부분이 추가되었는데 setState는 빼고 테스트해보니 없어도 상관은 없지만 혹시 문제가 있으신 분들은 포함시켜 주세요.

핵심은 controller.resumeCamera() - 카메라 활성화 코드가 추가되어야 Scan 화면이 나옵니다.

반응형