Flutter:barcode_scanner2扫码插件使用

一、摄像头权限配置:

1.Android添加摄像头权限(工程/android/app/src/main/AndroidManifest.xml):

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

2.iOS添加摄像头使用说明(工程/ios/Runner/Info.plist):

<dict>
    ...
    <key>NSCameraUsageDescription</key>
    <string>本应用需要使用摄像头实现扫码功能</string>
</dict>

二、实现扫码功能:

1.添加barcode_scanner2插件依赖,在pubspec.yaml中:

dependencies:
  barcode_scan2: ^4.2.1 #扫码库插件

2.实现扫码功能:

ElevatedButton(  //APP界面某一处按钮
    child: Text("打开扫码界面"),
    onPressed: () {
      openQRScanPage();  //点击按钮时打开三方扫码界面,扫码成功后会自动关闭三方界面回到原有界面
    }
)
...
//打开三方扫码界面,扫码成功后会自动关闭三方界面回到原有界面
Future<void> openQRScanPage() async {
  var options = ScanOptions(
      android: AndroidOptions(aspectTolerance: 0.5, useAutoFocus: true),  //(默认已配)添加Android自动对焦
      autoEnableFlash: false,  //true打开闪光灯, false关闭闪光灯
      strings: {'cancel': '退出', 'flash_on': '开闪光灯', 'flash_off': '关闪光灯'}  //标题栏添加闪光灯按钮、退出按钮
  );
  var result = await BarcodeScanner.scan(options: options);
  String qrcode = result.rawContent;  //扫描到的条形码或二维码内容
  print("条形码或二维码为: " + qrcode);
  //...处理后续逻辑,如授权登录
}

猜你喜欢

转载自blog.csdn.net/a526001650a/article/details/127762932