нет провайдера для BarcodeScanner

Код выглядит следующим образом:


    import { Component } from '@angular/core';
    import { NavController, Platform } from 'ionic-angular';
    import { TranslateService } from '@ngx-translate/core';
    import { BarcodeScanner } from '@ionic-native/barcode-scanner';

    @Component({
        selector: 'page-home',
        templateUrl: 'home.html'
    })
    export class HomePage {
        constructor(public navCtrl: NavController, private translate: TranslateService, private barcodeScanner: BarcodeScanner) {

        }
        //Switch language 
       changelanguage() {
            let browserLang = this.translate.currentLang;
            this.translate.use(browserLang.match(/en/) ? 'zh' : 'en');
        }
        //Scan test
        ScanCode() {
            this.barcodeScanner.scan()
                .then((result) => {
                    console.log(result);
                })
                .catch((error) => {
                    alert(error);
                });
        }
    }

Изображение ошибки:

введите описание изображения здесь

Ссылка : https://ionicframework.com/docs/native/barcode-scanner/



Возникли новые вопросы:
Согласно рекомендациям Suraj, подсказка "plugin_not_installed"

Изображение ошибки:
 введите описание изображения здесь
 введите  описание изображения здесь среда разработки: Visual Studio 2017


person 路见不平一声吼    schedule 31.03.2017    source источник
comment
Измените свой вопрос на английский   -  person Suraj Rao    schedule 31.03.2017


Ответы (3)


Вам необходимо установить сканер в качестве провайдера в app.module.ts

import { BarcodeScanner } from '@ionic-native/barcode-scanner';

@NgModule({
  ...

  providers: [
    ...
    BarcodeScanner
    ...
  ]
  ...
})
export class AppModule { }

Ссылка: Добавьте плагины в модуль своего приложения здесь

ОБНОВЛЕНИЕ: из вашего package.json похоже, что вы установили более старый ionic-native - 2.4.1. Удалите его и выполните:

npm install --save @ionic-native/core
person Suraj Rao    schedule 31.03.2017
comment
按 你 说 的 我 已经 加上 了 , 但是 调用 方法 提示 «plugin_not_installed» - person 路见不平一声吼; 31.03.2017
comment
catch ((error) = ›{alert (error);}); - person 路见不平一声吼; 31.03.2017
comment
运行 到 这里 提示 «plugin_not_installed» - person 路见不平一声吼; 31.03.2017
comment
$ ionic plugin add phonegap-plugin-barcodescanner --save $ npm install --save @ionic-native/barcode-scanner ты это сделал? - person Suraj Rao; 31.03.2017
comment
Это хорошая проверка решений, это не работает - person fsalazar_sch; 23.08.2020

У меня такая же проблема с ionic cli 3.9.2 и решена с помощью npm i @ ionic-native / barcode-scanner @ beta --save.

import { BarcodeScanner } from "@ionic-native/barcode-scanner/ngx";

@NgModule({
  ...

  providers: [
    ...
    BarcodeScanner
    ...
  ]
  ...
})
export class AppModule { }
person kautikmistry    schedule 28.01.2019

У меня такая же проблема на устройстве Android после установки ionic cordova plugin add phonegap-plugin-barcodescanner --save, сообщение об ошибке plugin_not_installed. Просто добавил CAMERA_USAGE_DESCRIPTION переменную внутри тега phonegap-plugin-barcodescanner в config.xml и работает :)

<plugin name="phonegap-plugin-barcodescanner" spec="^7.0.1">
    <variable name="CAMERA_USAGE_DESCRIPTION" value=" " />
</plugin>
person Mizanur Rahman Mojumder    schedule 17.01.2018