angular - Cordova InAppBrowser-plugin är inte installerad


När jag listar plugins (cordova plugin list), är det listat där men när jag kör min kod på en Android-enhet får jag detta meddelande i konsolen (från Chrome remote debugger): Native: InAppBrowser är inte installerad eller så kör du på en webbläsare. Återgår till window.open, alla instansmetoder kommer INTE att fungera.

Jag har den senaste versionen av ionic-cli.

Jag har inkluderat ett exempelprojekt här: https://github.com/golear91/ionic2-broken-inappbrowser

Jag i princip:

  • använde CLI:n för att "starta" ett flikprojekt
  • lade till en enda leverantör (använder generator)
  • lade till leverantör på en av mina flikar
  • cordova plugin add cordova-plugin-inappbrowser
  • importera & försök använda InAppBrowser

Jag försökte ta bort och installera om med hjälp av tillägget utan resultat.

Några idéer på vad som är fel?

Svar #1

Användning av ionic-native-plugins måste vänta på att enheten är "redo"

För Ionic2 med Angular kan detta uppnås genom att importera Platform (tillsammans med allt annat) till vilken komponent/tjänst du planerar att använda ionic-native-pluginet från.

import { Injectable } from '@angular/core';
import 'rxjs/add/operator/map';
import { InAppBrowser } from 'ionic-native';
import { Platform } from 'ionic-angular';

och sedan vänta på att plattformen ska bli klar:

@Injectable()
export class Service() {
   constructor(public platform: Platform) {
     this.init()
   }
   init() {
     this.platform.ready().then(() => {
       let browser = new InAppBrowser('https://ionic.io', '_system');
       browser.on("loadstop").subscribe(()=> console.log("loadstop"));
     });
   }
}

Svar #2

Att lägga till i plugins/android.json och plugins/ios.json

"cordova-plugin-inappbrowser": {}

Detta fungerade för mig.

Jag hoppas kunna hjälpa dig.

Hälsningar.