使用 Capacitor CallNumber 获取无效的提供者错误

问题描述

我正在实施 CallNumber。 如果我遵循 ionic docs,则没有提到在提供程序中包含 CallNumber,因此会引发错误

错误:未捕获(承诺):NullInjectorError: R3InjectorError(HomePageModule)[CallNumber -> CallNumber -> CallNumber -> CallNumber]: NullInjectorError: No provider for CallNumber!

所以我在 app.module.ts 中添加 CallNumber 作为提供者

import { CallNumber } from '@ionic-native/call-number';


@NgModule({
  declarations: [AppComponent,StudentModalPage],imports: [
    browserModule.withServerTransition({ appId: 'serverApp' }),browserTransferStateModule,IonicStorageModule.forRoot(),IonicModule.forRoot(),FormsModule,AppRoutingModule,HttpClientModule,ComponentsModule,ServiceWorkerModule.register('ngsw-worker.js',{ enabled: environment.production })
  ],providers: [
   CallNumber,{ provide: RouteReuseStrategy,useClass: IonicRouteStrategy },{
      provide: APP_INITIALIZER,useFactory: (platformId: object,response: any) => {
        return () => {
          // In the server.ts we added a custom response header with @R_79_4045@ion about the device requesting the app
          if (isPlatformServer(platformId)) {
            if (response && response !== null) {
              // Get custom header from the response sent from the server.ts
              const mobileDeviceHeader = response.get('mobile-device');

              // Set Ionic config mode?
            }
          }
        };
      },deps: [PLATFORM_ID,[new Optional(),RESPONSE]],multi: true
    }
  ],bootstrap: [AppComponent]
})
export class AppModule {

但现在我收到此错误

错误:NgModule 'AppModule' 的提供者无效 - 仅实例 Provider 和 Type 是允许的,得到:[?[object Object]?,...,...]

我在 allot 周围搜索过,但找不到解决方案,也没有隐藏错误,感谢任何输入。

解决方法

我遇到了类似问题的 this 解决方案,并从添加提供程序后创建的自动导入更改了我的导入:

 { CallNumber } from '@ionic-native/call-number';

到:

{ CallNumber } from '@ionic-native/call-number/ngx';