SCANNED

That's all, you've scanned!

Flutter plugin for scan barcode an QR in iOS and Android.

Supported Platforms

Platform Check Connectivity Listen for Changes
Android ✅ ✅
iOS ✅ ✅
macOS ❌ ❌
Linux ❌ ❌
Windows ❌ ❌
Web ❌ ❌

prepare

iOS
info.plist
<key>NSCameraUsageDescription</key>
<string>Your Description</string>

<key>io.flutter.embedded_views_preview</key>
<string>YES</string>
Android
AndroidManifest
<uses-permission android:name="android.permission.CAMERA" />

<application>
  <meta-data
    android:name="flutterEmbedding"
    android:value="2" />
</application>
dependencies:
  scanned: [latest version]
flutter/dart
import 'package:scanned/scanned.dart';
  ScanController scanController = ScanController();

  Scanner(
      controller: scanController,
      scanAreaScale: .65,
      scanLineColor: Colors.blue,
      onCapture: (data) async {
              await  stopCamera();
              if (data.isNotNullOrEmpty) await onScanned(data);
              await Future.delayed(Duration(
              milliseconds: ((reactivateTime ??
              Configs.defaultCameraScanIdleTimeout) *
              1000)
                  .toInt()));
              await startCamera();
        }
    )
  ScanController scanController = ScanController();

  // toggle torch and get its status as bool
  final bool turnedOn = scanController.toggleTorchMode();

  //turn on Flash
  await scanController.turnOn();

  //turn off Flash
  await scanController.turnOff();
  
  // start or resume camera
  await scanController.resume();

  //pause camera
  await scanController.pause();

  //pause camera and turnOffFlash
  scanController.pause(turnOffFlash: true);