Flutter扫码插件实现、上传、以及使用

点击查看原图

這裏我们使用的是一个插件,目前好像只支持安卓,暂时没找找支持ios的,如果你们有的话可以在评论下方留言,我会加上去,感谢。

相关文章:Flutter - 生成二维码与识别二维码

这个好像也不错:https://pub.dev/packages/flutter_qrscaner

下面进入正题

使用

一个Flutter插件来扫描。准备好Android

然后在安卓的原生xml目录添加权限:

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

安装:

在我们的yaml文件中添加插件依赖

dependencies:
 qrscan: ^0.1.3
使用例子:
import 'package:qrscan/qrscan.dart' as scanner;

String barcode = await scanner.scan();

完整样例代码:

import 'package:flutter/services.dart';
import 'package:qrscan/qrscan.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String barcode = "";

  @override
  initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Qrcode Scanner Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.end,
            children: <Widget>[
              Text(barcode),
              MaterialButton(
                onPressed: scan,
                child: Text("Scan"),
                color: Colors.blue,
                textColor: Colors.white,
              ),
            ],
          ),
        ),
      ),
    );
  }

  Future scan() async {
    try {
      String barcode = await Qrscan.scan();
      setState(() => this.barcode = barcode);
    } on PlatformException catch (e) {
      if (e.code == Qrscan.CameraAccessDenied) {
        setState(() {
          this.barcode = 'The user did not grant the camera permission!';
        });
      } else {
        setState(() => this.barcode = 'Unknown error: $e');
      }
    } on FormatException {
      setState(() => this.barcode = 'null (User returned using the "back"-button before scanning anything. Result)');
    } catch (e) {
      setState(() => this.barcode = 'Unknown error: $e');
    }
  }
}
github地址:https://github.com/leyan95/qrcode_scanner
本博客所有文章如无特别注明均为原创。作者:flutter教程网复制或转载请以超链接形式注明转自 Flutter教程网
原文地址《Flutter扫码插件实现、上传、以及使用
分享到:更多

相关推荐


Flutter教程网 官方QQ群:874592746

扫描下面二维码 加入Flutter教程网微信群:


发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)