首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cordova条形码扫描器无法在Android 6.0.1上工作

Cordova条形码扫描器无法在Android 6.0.1上工作
EN

Stack Overflow用户
提问于 2017-12-02 20:39:39
回答 1查看 628关注 0票数 0

我在Ionic 3.19上设置BarcodeScanner有一些问题。到目前为止这是我的密码。测试设备是LG Nexus 5,运行Android6.0.1。我在查科多瓦7.0.1号。

以下实现在浏览器中按预期工作,但在电话上,它只告诉我“许可被授予”,然后条形码扫描仪的相机就不会出现。

deposit-money.ts

代码语言:javascript
复制
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();   
  }
}

deposit-money.html

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2018-01-02 12:41:52

试着用这个插件

代码语言:javascript
复制
<plugin spec="https://github.com/Telerik-Verified-Plugins/BarcodeScanner.git" source="git" >
    <param name="CAMERA_USAGE_DESCRIPTION" value="To scan barcodes." />
    </plugin>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47612360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档