just_scanner 0.0.1
just_scanner: ^0.0.1 copied to clipboard
High-performance QR and barcode scanner for Flutter with support for multiple formats and lower Android versions.
Changelog #
0.0.1 - 2026-02-20 #
Platform Support
- Android support (API 21+) using CameraX (1.3.1) + ML Kit Barcode Scanning (17.2.0) with ZXing (3.5.2) fallback
- iOS support (iOS 11.0+) using AVFoundation + Vision framework
- Legacy camera API mode for older Android devices (API < 21)
Barcode Format Support
- Support for 13+ barcode formats:
- 2D formats: QR Code, Aztec, Data Matrix, PDF417
- 1D formats: UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Code 128, ITF, Codabar
Scanning Features
- Real-time barcode scanning with stream-based results
- Start and stop scanning commands
- Torch/flashlight toggle control
- Continuous scanning mode
- Single-shot scanning mode
- Configurable scan delay to prevent duplicate detections
- Image analysis from bytes (
analyzeImage()method for scanning existing images)
Data & Detection
- Barcode position data with bounding box coordinates
- Corner points detection (4-point coordinates)
- Timestamp for each scan result
- Format identification for detected barcodes
Configuration Options
- Performance Modes:
- High Performance mode (30-60 FPS with ML Kit/Vision)
- Battery Saver mode (15-24 FPS with reduced processing)
- Customizable Settings:
- Configurable frame rate (15-60 FPS)
- Haptic feedback on successful scan
- Optional beep sound on scan
- Auto flash capability
- Scan area overlay toggle
- Adjustable scan delay (milliseconds)
UI Components
ScannerViewwidget with texture-based camera preview- Customizable scan area overlay
- Custom overlay widget support
- Resolution presets (high, medium, low)
APIs & Methods
- Permission management:
checkPermission()- Check camera permission statusrequestPermission()- Request camera permission
- Scanning control:
startScan()- Start scanningstopScan()- Stop scanningtoggleFlash()- Toggle torch/flashlight
- Image analysis:
analyzeImage(List<int> imageBytes)- Scan barcodes from image data
- Resource management:
dispose()- Clean up resources
Performance Optimizations
- Background thread processing for scanning
- Backpressure handling strategy (STRATEGY_KEEP_ONLY_LATEST)
- Format-specific scanning optimization
- Hardware acceleration support
- Event channel for real-time scan stream