BarCodeScanner doesn't work in Ionic 6 and Cordova in Android device

Viewed 632

I want to use BarCodeScanner in Ionic 6 but when I call the function to open the camera and scan, I get the message Scan is already in progress. It doesn't open the camera or do anything. I don't understand why this is happening, if someone could help me, I would be very grateful. Attached is my code:

import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';

constructor(
  private menuCtrl:MenuController,
  private apiService: ApiService,
  private modalCtrl: ModalController,
  private barcodeScanner: BarcodeScanner
) { } 
 
public scan(){
    this.barcodeScanner.scan().then(barcodeData => {
      console.log('Barcode data', barcodeData);
      this.scannedData = barcodeData;

    }).catch(err => {
      console.log('Error', err);
    });
  }

And app.module.ts:

import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';

providers: [
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
    Stripe,
    Camera,
    BarcodeScanner,
    StatusBar,
    SplashScreen
  ],
2 Answers

can you try this:

ionic cordova plugin add phonegap-plugin-barcodescanner 
npm install @awesome-cordova-plugins/barcode-scanner 

then :

   import { BarcodeScanner }from '@awesome-cordova-plugins/barcode-scanner/ngx';
    
   constructor(private barcodeScanner: BarcodeScanner) { }
   ...

   this.barcodeScanner.scan().then(barcodeData => {
   console.log('Barcode data', barcodeData);
   }).catch(err => {
   console.log('Error', err);
   });
Related