我在将BarcodeScanner添加到我的Android版本时遇到问题,错误是 plugin_not_installed 。
该应用程序编译时没有任何错误,但在运行时输出错误。我也尝试过删除/添加android文件夹,但仍然没有运气。
有人知道是什么原因造成的吗?
安装:
npm install --save @ionic-native/barcode-scanner@5.0.0-beta.21
app.module.ts:
import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';
@NgModule({
...
providers: [
...
BarcodeScanner
...
]
...
})
home.ts:
import { BarcodeScanner, BarcodeScannerOptions } from '@ionic-native/barcode-scanner/ngx';
@Component({
...
})
export class HomePage implements OnInit {
private options: BarcodeScannerOptions;
constructor(private barcodeScanner: BarcodeScanner) {}
scan() {
this.options = {
prompt: "Scan your qrcode "
}
this.barcodeScanner.scan(this.options).then((barcodeData) => {
...
}, err => {
console.log("Error occured : " + err);
});
}//func scan
}//class HomePage
======
依赖项:
答案 0 :(得分:3)
您刚刚为插件安装了离子原生包装器,但没有为插件安装
对于科尔多瓦
ionic cordova plugin add phonegap-plugin-barcodescanner
对于电容器
npm install phonegap-plugin-barcodescanner
答案 1 :(得分:0)
重要的是,如果您给出不带“ --save”的命令,有时package.json不会更新。例如,npm install phonegap-plugin-barcodescanner并未更新config.xml和package.json。出现“ Plugin_not_installed”错误时,这可能会浪费您很多时间。
请按照以下步骤操作,它应该可以在Android手机上无缝运行。
npm install @ionic-native/barcode-scanner --save
npm install phonegap-plugin-barcodescanner --save
npx cap sync
然后在android上运行
ionic capacitor run android.
请注意,仅当您遇到错误的plugin_not_installed时,以上解决方案才会出现。
示例执行代码:
declare let window: any;
scan(){
window.cordova.plugins.barcodeScanner.scan(
result => console.log(result),
err => this.presentAlert(err),
{
showTorchButton: true,
prompt: "Scan your code",
formats: "QR_CODE",
resultDisplayDuration: 0
}
);
}
谢谢
答案 2 :(得分:0)
当我遇到这个问题时,我正在使用带电容器的实时重载。在这里尝试解决方案但没有成功后,我只需要重建应用程序(当然在终端上 ctrl
+ c
之后取消正在运行的应用程序):
ionic cap run android -l --external
然后所有插件都成功运行。我不知道每次添加插件时是否都必须这样做,但现在可以使用