首页 > 解决方案 > 如何解决在 Flutter_barcode_scanner 通道上找不到方法 scanBarcode 的实现 Flutter 中的异常

问题描述

当我按下应该打开 QR 码相机的按钮时,我正在尝试打开相机以扫描 QR 码

它返回以下异常

E/flutter (15313): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: MissingPluginException(No implementation found for method scanBarcode on channel flutter_barcode_scanner)
E/flutter (15313): #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:157:7)
E/flutter (15313): <asynchronous suspension>
E/flutter (15313): #1      FlutterBarcodeScanner.scanBarcode (package:flutter_barcode_scanner/flutter_barcode_scanner.dart:42:28)
E/flutter (15313): <asynchronous suspension>
E/flutter (15313): #2      _ScanQRState.scanbarcode (package:restorantapp/pages/ScanQR.dart:15:15)
E/flutter (15313): <asynchronous suspension>
E/flutter (15313): 

这是我下面的代码

import 'package:flutter/material.dart';
import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';

class ScanQR extends StatefulWidget {
  @override
  _ScanQRState createState() => _ScanQRState();
}

class _ScanQRState extends State<ScanQR> {
  String code = "";
  String getCode = "";

  Future scanbarcode() async {
    getCode = await FlutterBarcodeScanner.scanBarcode(
        "#009922", "CANCEL", true, ScanMode.DEFAULT);

    setState(() {
      code = getCode;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Scan QR Code'),
        centerTitle: true,
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          FlatButton(
            color: Colors.blue,
            padding: EdgeInsets.all(16.0),
            child: Text('Scan QR Code',),
            onPressed: () {
              print('FlatButton pressed');
              scanbarcode();
            },
          ),
          Text(code)
        ],
      ),
    );
  }
}

我正在关注视频中的 youtube 教程,该应用程序应该向用户请求许可,但我的应用程序没有请求任何许可,我也尝试将此许可添加到我的清单中

<uses-permission android:name="android.permission.CAMERA" />
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
       <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

但它没有用

!!!

标签: flutterexceptionqr-code

解决方案


执行以下命令

flutter clean
flutter pub get

然后再次运行您的应用程序


推荐阅读