code_scanner 1.0.0 code_scanner: ^1.0.0 copied to clipboard
scanning qr code by camera & reading from qr code garrely image.
code_scanner #
QR code scanner plugin for flutter. This plugin responds to camera/photo-lirary usage permission requests. This plugin function is Scan/Read. "Scan" is scanning QR code by scanner, "Read" is reading qr code by picking up qr code image from photo library.
iOS #
Support for iOS > 8.0
Please add as follows in info.plist
<key>NSCameraUsageDescription</key>
<string></string>
<key>NSPhotoLibraryUsageDescription</key>
<string></string>
<key>io.flutter.embedded_views_preview</key>
<true/>
Android #
minSdkVersion 23
Please add as follows in Manifest.xml
<manifest ... xmlns:tools="http://schemas.android.com/tools">
:
<uses-sdk tools:overrideLibrary="com.google.zxing.client.android" />
</manifest>
Dependent library #
iOS: MTBBarcodeScanner
Android: zxing-android-embedded
How to use #
View & View Controller #
/// Scan Widget
CodeScanner(
controller : controller,
isScanFrame : true, // optional
scanFrameSize : Size(200, 200), // optional
frameWidth : 8, // optional
frameColor : Color(0xcc222222), // optional
)
/// Widget Controller
controller = CodeScannerController();
How to get scan/read data #
How to get scan data #
Listen for scanDataStream.
/// scan data
controller.scanDataStream
How to get read data #
If reading qr image from photo gallery is success, true value flows through isSuccessReadDataStream.
If reading qr image from photo gallery is failure, false value flows through isSuccessReadDataStream.
You can detect read result without isSuccessReadDataStream. You Listen for only readDataStream, it is flowed two value pattern, one is actual read data, another is null when reading is failure
/// flag of successful read
controller.isSuccessReadDataStream
/// read data
controller.readDataStream
Method #
start scanning (This method is called automatically when CodeScanner is created.)
await controller.startScan();
stop scanning (this method is called on controller dispose method as default.)
await controller.stopScan();
Read code from image gallery
await controller.readDataFromGallery();
Turn on light
await controller.lightON();
Turn off light
await controller.lightOFF();
Toggle light
await controller.toggleLight();