Hi,
I’m developing ionic3 angular corodova app, where I need to use a barcode scanner. When I use scanner first time its working fine, when I try to scan next time, its throwing Java error -
Java exception was raised during method invocation
Following is my code
app.module.ts
import { BarcodeScanner } from '@ionic-native/barcode-scanner';
providers: [
StatusBar,
SplashScreen,
AndroidPermissions,
BarcodeScanner,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
shoppingcart.ts
import { BarcodeScanner } from '@ionic-native/barcode-scanner';
import { AndroidPermissions } from '@ionic-native/android-permissions';
constructor(private barcodeScanner: BarcodeScanner, public androidPermissions: AndroidPermissions)
public checkPermission(){
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA)
.then(status => {
if (status.hasPermission) {
this.scanProduct();
} else {
this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA)
.then(status =>{
if(status.hasPermission) this.scanProduct();
});
}
})
}
public scanProduct(){
this.barcodeScanner.scan().then(barcodeData => {
console.log('Barcode data', barcodeData);
if(!barcodeData.cancelled){
var partNo = barcodeData.text;
if(partNo.length > 7){
partNo = partNo.split('')[1].substr(2, 9);
}
this.productDetails(partNo)
}else{
alert("Scan Cancelled");
}
}).catch(err => {
console.log('Error', err);
}),
{
prompt : "Scan QR code on Applied Biosystems reagent box"//,
};
}
public productDetails(id: any){
this.navCtrl.push(ProductDetailsPage, {id: id});
}
Finally I will show the identifeid product in a iframe.
Please help me, someone, what mistake I am doing in my code.