搜索插件、代码仓与 APP 分类

插件详情v1.0.4

qrcode

一个用于扫描二维码的 Flutter 插件。在 iOS 上使用 AVCaptureSession,在 Android 上使用 zxing。

近 30 天下载
40
喜欢数
37
Pub 分数
40

安装插件

flutter pub add qrcode

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

qrcode 包是一个专为 iOS 和 Android 平台设计的 Flutter 插件,用于扫描二维码。在 iOS 上,它利用 AVCaptureSession 实现高效的条形码检测;在 Android 上,则使用 ZXing 库以确保可靠的扫描性能。这一轻量级解决方案使开发者能够以最少的配置将二维码扫描功能集成到其应用中。它支持实时扫描,并提供对解码数据的简单访问,非常适合需要从二维码快速获取数据的应用程序。

适合场景

  • 移动支付系统
  • 活动门票验证
  • 产品信息查询
  • 无接触数据共享
  • 库存管理

主要特点

  • 跨平台二维码扫描
  • iOS with AVCaptureSession
  • Android with ZXing
  • 实时扫描
  • 简单 API 集成

适合对象

  • 需要读取二维码的应用程序
  • 开发库存工具的开发者
  • 初创公司创建无接触解决方案
  • 电子商务和零售应用
  • 活动和票务平台

使用建议

  • 两个平台都需要相机权限
  • 仅限二维码扫描(不支持生成)
  • 可能需要为摄像头预览添加额外的用户界面
  • 性能取决于设备摄像头的质量
  • 不支持二维码以外的条形码

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

qrcode

A flutter plugin for scanning QR codes. Use AVCaptureSession in iOS and zxing in Android.

Usage

Use this package as a library
Add dependency

Add this to your package's pubspec.yaml file:

dependencies:
  qrcode: ^1.0.5
Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get
Import it

Now in your Dart code, you can use:

import 'package:qrcode/qrcode.dart';
Basic
class _MyAppState extends State<MyApp> {
  QRCaptureController _captureController = QRCaptureController();

  bool _isTorchOn = false;

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

    _captureController.onCapture((data) {
      print('onCapture----$data');
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Stack(
          alignment: Alignment.center,
          children: <Widget>[
            QRCaptureView(controller: _captureController),
            Align(
              alignment: Alignment.bottomCenter,
              child: _buildToolBar(),
            )
          ],
        ),
      ),
    );
  }

  Widget _buildToolBar() {
    return Row(
          mainAxisSize: MainAxisSize.max,
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            FlatButton(
              onPressed: () {
                _captureController.pause();
              },
              child: Text('pause'),
            ),
            FlatButton(
              onPressed: () {
                if (_isTorchOn) {
                  _captureController.torchMode = CaptureTorchMode.off;
                } else {
                  _captureController.torchMode = CaptureTorchMode.on;
                }
                _isTorchOn = !_isTorchOn;
              },
              child: Text('torch'),
            ),
            FlatButton(
              onPressed: () {
                _captureController.resume();
              },
              child: Text('resume'),
            ),
          ],
        );
  }
}

Integration

iOS

To use on iOS, you must add the following to your Info.plist

<key>NSCameraUsageDescription</key>
<string>Camera permission is required for qrcode scanning.</string>
<key>io.flutter.embedded_views_preview</key>
<true/>

所属分类

源码仓库

使用此插件的项目

暂无相关数据。