二维码与条形码扫描插件qrscan
dependencies:flutter:sdk:flutter#ThefollowingaddstheCupertinoIconsfonttoyourapplication.#UsewiththeCupertinoIconsclassforiOSstyleicons.cupertino_icons:^0.1.2qrscan:^0.1.3import'package:flutter/material.dart';import'package:qrscan/qrscan.dart'asscanner;voidmain()=>runApp(MyApp());classMyAppextendsStatefulWidget{MyApp({Keykey}):super(key:key);_MyAppStatecreateState()=>_MyAppState();}class_MyAppStateextendsState<MyApp>{Stringbarcode="";@overrideinitState(){super.initState();}@overrideWidgetbuild(BuildContextcontext){returnMaterialApp(home:Scaffold(appBar:AppBar(title:Text('Scanbarcodesandqrcodes'),),body:Center(child:Column(mainAxisAlignment:MainAxisAlignment.end,children:<Widget>[Text(barcode),MaterialButton(onPressed:scan,child:Text("Scan"),color:Colors.blue,textColor:Colors.white,),]),),),);}Futurescan()async{try{Stringbarcode=awaitscanner.scan();setState(()=>this.barcode=barcode);}onExceptioncatch(e){if(e==scanner.CameraAccessDenied){setState((){this.barcode='Theuserdidnotgrantthecamerapermission!';});}else{setState(()=>this.barcode='Unknownerror:$e');}}onFormatException{setState(()=>this.barcode='null(Userreturnedusingthe"back"-buttonbeforescanninganything.Result)');}catch(e){setState(()=>this.barcode='Unknownerror:$e');}}}