未找到针对通道抖动的方法扫描的实现 com.apptresoftwore.barcode_scan
No implementation found for method scan on channel flutter com.apptresoftwore.barcode_scan
我尝试使用 Flutter.I 在 pubspec.yaml 中添加包 barcode_scan 和相机权限,在我的移动应用程序中创建一个 QRCode 扫描仪
但是每次都显示相同的错误,没有找到方法扫描的 imlimentation 我找不到 solution.this 是我的代码
import 'package:flutter/material.dart';
import 'package:barcode_scan/barcode_scan.dart';
import 'dart:async';
import 'package:flutter/services.dart';
class MyHomePage extends StatefulWidget{
@override
_MyHomePageState createState()=> new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
String result = "Hey there !";
Future _scanQR() async {
try {
String qrResult = await BarcodeScanner.scan();
setState(() {
result = qrResult;
});
} on PlatformException catch (ex) {
if (ex.code == BarcodeScanner.CameraAccessDenied) {
setState(() {
result = "Camera permission was denied";
});
} else {
setState(() {
result = "Unknown Error $ex";
});
}
} on FormatException {
setState(() {
result = "You pressed the back button before scanning anything";
});
} catch (ex) {
setState(() {
result = "Unknown Error $ex";
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("QR Scanner"),
),
body: Center(
child: Text(
result,
style: new TextStyle(fontSize: 30.0, fontWeight: FontWeight.bold),
),
),
floatingActionButton: FloatingActionButton.extended(
icon: Icon(Icons.camera_alt),
label: Text("Scan"),
onPressed: _scanQR,
),
floatingActionButtonLocation:
FloatingActionButtonLocation.centerFloat,
);
}
}
报错“No implementation found for method...”一般是由于插件没有正确添加到项目中,导致Flutter无法找到从包中调用的方法。如果使用的插件不支持目标平台,也会遇到同样的问题。但由于barcode_scan插件似乎同时支持iOS和Android,这可能是前者造成的。
您可以尝试 运行ning flutter pub get
来验证插件是否已添加到项目中,并 运行 应用程序使用 full restart 来确保所有包都已添加已编译。
我还注意到 barcode_scan 在撰写本文时已停产。该插件可能仍会按预期工作,但不会从其开发人员那里收到进一步的更新。您还可以检查 pub.dev 中可能适合您的用例的其他条码扫描器插件。
我尝试使用 Flutter.I 在 pubspec.yaml 中添加包 barcode_scan 和相机权限,在我的移动应用程序中创建一个 QRCode 扫描仪 但是每次都显示相同的错误,没有找到方法扫描的 imlimentation 我找不到 solution.this 是我的代码
import 'package:flutter/material.dart';
import 'package:barcode_scan/barcode_scan.dart';
import 'dart:async';
import 'package:flutter/services.dart';
class MyHomePage extends StatefulWidget{
@override
_MyHomePageState createState()=> new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
String result = "Hey there !";
Future _scanQR() async {
try {
String qrResult = await BarcodeScanner.scan();
setState(() {
result = qrResult;
});
} on PlatformException catch (ex) {
if (ex.code == BarcodeScanner.CameraAccessDenied) {
setState(() {
result = "Camera permission was denied";
});
} else {
setState(() {
result = "Unknown Error $ex";
});
}
} on FormatException {
setState(() {
result = "You pressed the back button before scanning anything";
});
} catch (ex) {
setState(() {
result = "Unknown Error $ex";
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("QR Scanner"),
),
body: Center(
child: Text(
result,
style: new TextStyle(fontSize: 30.0, fontWeight: FontWeight.bold),
),
),
floatingActionButton: FloatingActionButton.extended(
icon: Icon(Icons.camera_alt),
label: Text("Scan"),
onPressed: _scanQR,
),
floatingActionButtonLocation:
FloatingActionButtonLocation.centerFloat,
);
}
}
报错“No implementation found for method...”一般是由于插件没有正确添加到项目中,导致Flutter无法找到从包中调用的方法。如果使用的插件不支持目标平台,也会遇到同样的问题。但由于barcode_scan插件似乎同时支持iOS和Android,这可能是前者造成的。
您可以尝试 运行ning flutter pub get
来验证插件是否已添加到项目中,并 运行 应用程序使用 full restart 来确保所有包都已添加已编译。
我还注意到 barcode_scan 在撰写本文时已停产。该插件可能仍会按预期工作,但不会从其开发人员那里收到进一步的更新。您还可以检查 pub.dev 中可能适合您的用例的其他条码扫描器插件。