QR code and barcode scanner.
Requires :camera permission (request via Mob.Permissions.request/2).
Opens a full-screen camera preview. When a code is detected the view dismisses
automatically and the result is delivered to handle_info:
handle_info({:scan, :result, %{type: :qr, value: "https://..."}}, socket)
handle_info({:scan, :cancelled}, socket)iOS: AVCaptureMetadataOutput. Android: CameraX + ML Kit BarcodeScanning.
Android dependency: add to
app/build.gradle:implementation 'com.google.mlkit:barcode-scanning:17.2.0'implementation 'androidx.camera:camera-camera2:1.3.0'implementation 'androidx.camera:camera-lifecycle:1.3.0'implementation 'androidx.camera:camera-view:1.3.0'
Summary
Functions
Open the barcode scanner.
Types
Functions
@spec scan( Mob.Socket.t(), keyword() ) :: Mob.Socket.t()
Open the barcode scanner.
Options:
formats: [format]— list of barcode formats to detect (default[:qr])