Name Last Update
..
example Loading commit data...
lib Loading commit data...
ohos Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.metadata Loading commit data...
CHANGELOG.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
analysis_options.yaml Loading commit data...
pubspec.lock Loading commit data...
pubspec.yaml Loading commit data...

flutter_barcode_scanner_ohos

flutter_barcode_scanner_ohos is a plugin for Flutter apps that adds barcode scanning support on ohos.

How to use ?

To use on ohos, you will need to add the camera permission in module.json5.

Open entry/src/main/module.json5 and add the following information:

...
"requestPermissions": [
+  {
+    "name": "ohos.permission.CAMERA",
+    "reason": "$string:camera_reason",
+    "usedScene": {
+      "abilities": [
+        "EntryAbility"
+      ],
+      "when":"inuse"
+    }
+  }
]

Add the reason for applying for the preceding permission to the entry directory.

Open entry/src/main/resources/base/element/string.json and add the following information:

...
{
  "string": [
+    {
+      "name": "camera_reason",
+      "value": "camera_reason"
+    }
  ]
}

Usage

Go to the project directory and add the following dependencies in pubspec.yaml

pubspec.yaml

...

dependencies:
  flutter_barcode_scanner_ohos:
    git: 
      url: https://gitcode.com/openharmony-sig/fluttertpc_flutter_barcode_scanner.git
      path: ohos

...

Execute Command

flutter pub get

One time scan

  1. You need to import the package first.
import 'package:flutter_barcode_scanner_ohos/flutter_barcode_scanner.dart';
  1. Then use the scanBarcode method to access barcode scanning.
String barcodeScanRes = await FlutterBarcodeScanner.scanBarcode(
                                                    COLOR_CODE, 
                                                    CANCEL_BUTTON_TEXT, 
                                                    isShowFlashIcon, 
                                                    scanMode);

Here in scanBarcode,

COLOR_CODE is hex-color which is the color of line in barcode overlay you can pass color of your choice,

CANCEL_BUTTON_TEXT is a text of cancel button on screen you can pass text of your choice and language,

isShowFlashIcon is bool value used to show or hide the flash icon,

scanMode is a enum in which user can pass any of { QR, BARCODE, DEFAULT }, if nothing is passed it will consider a default value which will be QR. It shows the graphics overlay like for barcode and QR.

NOTE: Currently, scanMode is just to show the graphics overlay for barcode and QR. Any of this mode selected will scan both QR and barcode.

Continuous scan

  • If you need to scan barcodes continuously without closing camera use FlutterBarcodeScanner.getBarcodeStreamReceiver params will be same like FlutterBarcodeScanner.scanBarcode e.g.
FlutterBarcodeScanner.getBarcodeStreamReceiver("#ff6666", "Cancel", false, ScanMode.other)
         .listen((barcode) { 
         /// barcode to be used
         });