错误:StaticInjectorError(AppModule)[首页-> BluetoothSerial]

时间:2019-07-05 11:17:34

标签: javascript angular typescript bluetooth ionic4

我在Ionic 4应用程序中使用插件'@ionic-native/bluetooth-serial/ngx'与热敏打印机通信。如果我使用android 7.1.1编译android设备的源代码,则会显示此错误:

  

E /电容器/插头/控制台:错误错误:未捕获(承诺):错误:   StaticInjectorError(AppModule)[首页-> BluetoothSerial]:         StaticInjectorError(平台:核心)[首页-> BluetoothSerial]:           NullInjectorError:没有提供BluetoothSerial的提供程序!       错误:StaticInjectorError(AppModule)[首页-> BluetoothSerial]:         StaticInjectorError(平台:核心)[首页-> BluetoothSerial]:           NullInjectorError:没有提供BluetoothSerial的提供程序!           在NullInjector.push ../ node_modules/@angular/core/fesm5/core.js.NullInjector.get   (http:// //localhost/vendor.js:42939:19)           在resolveToken(http:// //localhost/vendor.js:43184:24)           在tryResolveToken(http:////localhost/vendor.js:43128:16)           在StaticInjector.push ../ node_modules/@angular/core/fesm5/core.js.StaticInjector.get   (http:// //localhost/vendor.js:43025:20)           在resolveToken(http:// //localhost/vendor.js:43184:24)           在tryResolveToken(http:////localhost/vendor.js:43128:16)           在StaticInjector.push ../ node_modules/@angular/core/fesm5/core.js.StaticInjector.get   (http:// //localhost/vendor.js:43025:20)           在resolveNgModuleDep(http:// //localhost/vendor.js:55261:29)           在NgModuleRef_.push ../ node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get   (http:// //localhost/vendor.js:55950:16)           在resolveNgModuleDep(http://localhost/vendor.js:55261:29)

我只导入了它,并在构造函数中添加了参数。

home.ts代码:

import { Component } from '@angular/core';
import { BluetoothSerial } from '@ionic-native/bluetooth-serial/ngx';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {

  infoText:string = '';

  constructor(private bluetoothSerial: BluetoothSerial) {}

  listAllItems()
  {
    this.infoText = 'Hier werden alle Geräte aufgelistet!!!';
  }

  isConnected()
  {
    this.infoText = 'Hier wird angezeigt ob es verbunden ist!!!';
  }
}

有人知道错误的原因吗?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

除了本机插件页面上的说明之外,每次将插件添加到项目中时,还必须遵循一些常规说明。

它们在这里列出:

这意味着您需要编辑app.module.ts才能将模块导入项目。然后其他应用程序都可以使用它。

// app.module.ts
import { BluetoothSerial } from '@ionic-native/bluetooth-serial/ngx';

...

@NgModule({
  ...

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