2017-12-02 17 views
0

Ionic 3.19でBarcodeScannerを設定する際に問題が発生しています。これはこれまでの私のコードです。テストデバイスは、Android 6.0.1を実行しているLG Nexus 5です。私はCordova 7.0.1を実行しています。Android 6.0.1でCordovaバーコードスキャナが動作しない

次の実装はブラウザでは正常に機能しますが、電話では「許可が与えられました」と表示され、バーコードスキャナのカメラが表示されません。

預金money.ts

import { Component } from '@angular/core'; 
import { ModalController } from 'ionic-angular'; 
import { BarcodeScanner, BarcodeScannerOptions } from '@ionic-native/barcode-scanner'; 
import { AndroidPermissions } from '@ionic-native/android-permissions'; 

import { ScanQRCodeModal } from '../scan-qr-code/scan-qr-code'; 

@Component({ 
    selector: 'page-deposit', 
    templateUrl: 'deposit-money.html' 
}) 
export class DepositMoneyPage { 

    options: BarcodeScannerOptions; 
    scanData: {}; 

    constructor(private barcodeScanner: BarcodeScanner, 
       private androidPermissions: AndroidPermissions, 
       private modalCtrl: ModalController) { 

    } 

    checkCameraPermissions() { 
    this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA).then(
     success => { alert('Permission granted'); this.scanQRCode()}, 
     err => { alert('asking for permisison'); this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA) } 
    ); 
    } 

    scanQRCode() { 
    this.options = { 
     prompt : "Scan your voucher code" 
    } 
    this.barcodeScanner.scan(this.options).then((barcodeData) => { 
     console.log(barcodeData); 
     this.scanData = barcodeData; 
    }, (err) => { 
     console.log("Error occured: " + err); 
    }); 
    } 

    showScanQRCodeModal() { 
    let scanQRCodeModal = this.modalCtrl.create(ScanQRCodeModal); 
    scanQRCodeModal.present(); 
    } 
} 

預金money.html

<ion-header> 
    <ion-navbar> 
     <ion-title> 
      Deposit Money 
     </ion-title> 
    </ion-navbar> 
</ion-header> 

<ion-content> 
    <ion-list> 
     <button ion-item (click)="checkCameraPermissions()">Scan QR Code</button> 
    </ion-list> 

    <div *ngIf="scanData"> 
     <p>Scanned Text: {{scanData.text}}</p> 
     <p>Scanned Format: {{scanData.format}}</p> 
    </div> 
</ion-content> 

答えて

0

このプラグイン

<plugin spec="https://github.com/Telerik-Verified-Plugins/BarcodeScanner.git" source="git" > 
    <param name="CAMERA_USAGE_DESCRIPTION" value="To scan barcodes." /> 
    </plugin> 
で試してみてください
関連する問題