Angular Ionic Native-条形码扫描仪不';不能在生产中工作
我正在完成一个应用程序。 调试APK工作正常,而用于在存储上发布的已签名版本工作不正常,使我无法检查错误 问题与我添加到项目中的条形码扫描仪有关Angular Ionic Native-条形码扫描仪不';不能在生产中工作,angular,ionic4,ionic-native,Angular,Ionic4,Ionic Native,我正在完成一个应用程序。 调试APK工作正常,而用于在存储上发布的已签名版本工作不正常,使我无法检查错误 问题与我添加到项目中的条形码扫描仪有关 $ ionic cordova plugin add phonegap-plugin-barcodescanner $ npm install @ionic-native/barcode-scanner 我不明白为什么这两个APK的行为不同 我想这可能是权限问题,但我没有找到 足够多的文档奇怪!我最近一直在使用相同的条形码扫描仪,在调试模式下,它工
$ ionic cordova plugin add phonegap-plugin-barcodescanner
$ npm install @ionic-native/barcode-scanner
我不明白为什么这两个APK的行为不同
我想这可能是权限问题,但我没有找到
足够多的文档奇怪!我最近一直在使用相同的条形码扫描仪,在调试模式下,它工作得很好 当我更改包名时,它将所有内容重置为默认值,因此我再次被要求获得权限 这次作为实验,我否认了这一点 应用程序出现错误“错误:非法访问” 你有什么办法来解决这些问题吗 这就是我所拥有的:
async scanCode() {
try {
let barcodeData: BarcodeScanResult = await this.barcodeScanner.scan(this.barcodeScannerOptions);
if (barcodeData.cancelled) {
await this.msg.showAutoDismissToast("QR code scan cancelled");
this.analytics.trackEvent("QR code scan cancelled");
return;
}
this.addScannedDataToList(barcodeData);
const scanResultModal = await this.modalController.create({
component: ScanResultModalPage
});
await scanResultModal.present();
await this.msg.showAutoDismissToast("QR code scanned");
} catch (err) {
await this.msg.showAutoDismissToast("Error: " + err);
}
}
你需要根据你的情况稍微调整一下,但它显示了试捕的基本思想
MyshowAutoDismissToast
没有什么特别之处,只是一个标准片段:
async showAutoDismissToast(message) {
let toast = await this.toastController.create({
message,
duration: 2000,
position: 'bottom'
});
await toast.present();
}
希望通过这样的方式,可以消除妨碍扫描仪工作的错误。奇怪!我最近一直在使用相同的条形码扫描仪,在调试模式下,它工作得很好 当我更改包名时,它将所有内容重置为默认值,因此我再次被要求获得权限 这次作为实验,我否认了这一点 应用程序出现错误“错误:非法访问” 你有什么办法来解决这些问题吗 这就是我所拥有的:
async scanCode() {
try {
let barcodeData: BarcodeScanResult = await this.barcodeScanner.scan(this.barcodeScannerOptions);
if (barcodeData.cancelled) {
await this.msg.showAutoDismissToast("QR code scan cancelled");
this.analytics.trackEvent("QR code scan cancelled");
return;
}
this.addScannedDataToList(barcodeData);
const scanResultModal = await this.modalController.create({
component: ScanResultModalPage
});
await scanResultModal.present();
await this.msg.showAutoDismissToast("QR code scanned");
} catch (err) {
await this.msg.showAutoDismissToast("Error: " + err);
}
}
你需要根据你的情况稍微调整一下,但它显示了试捕的基本思想
MyshowAutoDismissToast
没有什么特别之处,只是一个标准片段:
async showAutoDismissToast(message) {
let toast = await this.toastController.create({
message,
duration: 2000,
position: 'bottom'
});
await toast.present();
}
希望将类似的东西放进去,可以解决妨碍扫描仪工作的错误。我“解决”了以下问题:
// import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';
// private barcodeScanner: BarcodeScanner,
barcodeScanner = (<any>window).cordova.plugins.barcodeScanner;
//从'@ionic native/barcode scanner/ngx'导入{barcode scanner};
//专用条形码扫描仪:条形码扫描仪,
条形码扫描仪=(窗口).cordova.plugins.barcodeScanner;
我“解决”了以下问题:
// import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';
// private barcodeScanner: BarcodeScanner,
barcodeScanner = (<any>window).cordova.plugins.barcodeScanner;
//从'@ionic native/barcode scanner/ngx'导入{barcode scanner};
//专用条形码扫描仪:条形码扫描仪,
条形码扫描仪=(窗口).cordova.plugins.barcodeScanner;
权限
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
我通过在/platform/app/src/main/AndroidManifest.xml添加此权限来解决此问题
重新编译你的应用程序,然后它会询问用户访问相机的权限
完成。权限
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
我通过在/platform/app/src/main/AndroidManifest.xml添加此权限来解决此问题
重新编译你的应用程序,然后它会询问用户访问相机的权限
完成。“此权限”:那是哪种权限?“此权限”:那是哪种权限?