我想在Ionic 6中使用BarCodeScanner,但是当我调用函数打开相机和扫描时,我得到消息扫描已经在进行。它不会打开相机也不会做任何事情。我不明白为什么会这样,如果有人能帮我,我会非常感激的。附件是我的代码:
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);
});
}
和app.module.ts:
import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';
providers: [
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
Stripe,
Camera,
BarcodeScanner,
StatusBar,
SplashScreen
],
发布于 2022-04-21 11:14:47
你能试试这个吗?
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);
});
发布于 2022-06-11 05:21:30
你可以试着用叉子
https://github.com/shekhartupe/phonegap-plugin-barcodescanner
我没有尝试过,但是在www/barcodesanner.js中,通过删除条件检查if (scanInProgress) { },在第108和第111行中看到了这种更改。
见下文
/*if (scanInProgress) {
errorCallback('Scan is already in progress');
return;
}*/
发布于 2022-11-28 02:28:31
我有同样的问题,我的解决方案是迁移到电容器,我使用了这个指南:https://capacitorjs.com/docs/cordova/migrating-from-cordova-to-capacitor。我希望这能帮到你。
这里有更多详细信息:https://github.com/phonegap/phonegap-plugin-barcodescanner/issues/861#issuecomment-606464923
https://stackoverflow.com/questions/71946732
复制相似问题