Ionic cordova 相机不可用

Ionic cordova camera is not available

我想在我的应用程序中使用 QrScanner。所以我安装了

ionic cordova plugin add cordova-plugin-qrscanner
npm install --save @ionic-native/qr-scanner@beta

插件,然后我使用 ionic cordova 运行 浏览器,然后在我的手机中访问生成的 url。每当我尝试打开 qr 扫描仪时,它总是显示 camera is not available。尽管我的手机有摄像头,但我在 android 和 ios 中都进行了测试,但结果是一样的。这是我的代码

this.qrScanner.prepare()
            .then((status: QRScannerStatus) => {
                if (status.authorized) {
                    // camera permission was granted
                    // start scanning
                    const scanSub = this.qrScanner.scan().subscribe((text: string) => {
                        console.log('Scanned something', text);
                        this.sharedAlertService.presentBasicAlert('Authorized', '', JSON.stringify(text));

                        this.qrScanner.hide(); // hide camera preview
                        scanSub.unsubscribe(); // stop scanning
                    });

                } else if (status.denied) {
                    this.sharedAlertService.presentBasicAlert('Denied', '', 'No permission');
                    // camera permission was permanently denied
                    // you must use QRScanner.openSettings() method to guide the user to the settings page
                    // then they can grant the permission from there
                } else {
                    // permission was denied, but not permanently. You can ask for permission again at a later time.
                }
            })
            .catch((e: any) => this.sharedAlertService.presentBasicAlert('Error', '', JSON.stringify(e)));

在浏览器中访问二维码扫描仪的解决方案是什么?谢谢。

相机在浏览器中不受原生支持,因此您在原生使用它有点不走运。最好的办法是为浏览器创建模拟数据,它将模拟使用它,以及 return 虚拟数据。

Ionic 对此有 an article 更深入的解释。