IONIC 3: Plugin BackgroundMode dont work: Object(…

2019-03-06 06:10发布

问题:

I need to run the code “this.backgroundMode.enable()” in my project, but it shows me the following error:

"Object(...) is not a function"

It imports it in app.module.ts in the following way:

import {BackgroundMode} from '@ ionic-native / background-mode / ngx';
...
providers: [
...
BackgroundMode
...]

And in the page (in my case is in app.component.ts, after deviceready, like the official documentation says) i use like:

import {BackgroundMode} from '@ ionic-native / background-mode / ngx';
constructor(private backgroundMode: BackgroundMode) { }
...
this.backgroundMode.enable();

Please I need to run this plugin in my project

回答1:

I have answered a similar question here https://stackoverflow.com/a/54398403/6617276

Check your project type in ionic.config.json file.

If the type is "ionic-angular", then install 4.x.x version.

npm i -s @ionic-native/background-mode@4.20.0

If the type is "angular", then install 5.x.x-beta version

npm i -s @ionic-native/background-mode@5.0.0-beta.24

Note:

Add ngx at the end of import only if you are using Angular 6

import { BackgroundMode } from '@ionic-native/background-mode/ngx';

if not remove ngx from the import both in app.module.ts and app.component.ts

import { BackgroundMode } from '@ionic-native/background-mode';