0
我想在Cordova和相關插件的Angular2應用上使用條形碼掃描儀。Angular2 + Cordova +條碼掃描器插件:Android的行爲
我現在可以在Android上進行測試,並且我正在收到奇怪的行爲。我無法找到問題,無論是插件還是我的代碼。
掃描工作正常,但是從相機活動切換到應用程序webview之後,就像事件和數據綁定處理不好。
當掃描結果返回時,我在視圖上設置了一個屬性來告訴應用掃描狀態是成功的,所以我的角度視圖顯示了一些按鈕來打開鏈接。
有時可以工作,其他不可以。另外,如果我重新掃描代碼,我取消它,讓相機的活動它讓我看到前面不顯示結果..或有時只是沒有在所有的工作:(
JAVASCRIPT:
export class ScanQRView extends View {
private scanState: string = 'ready';
[....]
public scan(): void {
if (this.utility.inApp('barcodeScanner')) {
cordova.plugins.barcodeScanner.scan(
(result) => {
setTimeout(() => {
if (!result.cancelled) {
this.onResult(result.text);
console.log(this.scanState);
} else {
this.onResult(false);
}
}, 500);
},
(error) => this.onResult(false), {
preferFrontCamera : true,
showFlipCameraButton : true,
showTorchButton : true,
torchOn: true,
//prompt : "Place a barcode inside the scan area",
resultDisplayDuration: 500,
formats : "QR_CODE",
disableAnimations : true,
disableSuccessBeep: false
}
);
}
}
public onResult(result: string|boolean): void {
if (result === false) {
this.scanState = 'error';
} else {
this.link = result.toString();
this.scanState = 'success';
}
}
}
模板:
<div class="row scan" *ngIf="scanState == 'ready'">
<div class="col-xs-3"></div>
<div class="col-xs-6">
<button type="button" class="btn btn-info btn-lg btn-block fade-in-out-button" (click)="scan()">
<i class="fa fa-camera" aria-hidden="true"></i>
</button>
</div>
<div class="col-xs-3"></div>
</div>
<div class="row scan" *ngIf="scanState == 'success'">
<div class="col-xs-12">
<div class="btn-group">
<div class="btn-group">
<button type="button" class="btn btn-info btn-lg" (click)="cancel()">
<i class="fa fa-refresh" aria-hidden="true"></i>
</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-info btn-lg fade-in-out-button" (click)="openLink()">
<i class="fa fa-link" aria-hidden="true"></i> Apri
</button>
</div>
</div>
</div>
</div>
我試圖與不定時,沒有什麼變化.. 人有類似的問題