2016-10-11 228 views
2

當我列出的插件(cordova plugin list),它被列在那裏,但是當我在Android設備上運行我的代碼在控制檯中該郵件(來自Chrome遠程調試程序): Native: InAppBrowser is not installed or you are running on a browser. Falling back to window.open, all instance methods will NOT work.科爾多瓦InAppBrowser插件未安裝

我有最新版本的ionic-cli。

我已經包含在這裏的示例項目:https://github.com/golear91/ionic2-broken-inappbrowser

我基本上是:

  • 使用CLI爲 「啓動」 選項卡一個項目
  • 添加一個單一的供應商(使用發電機)
  • 向我的其中一個標籤添加提供商
  • cordova plugin add cordova-plugin-inappbrowser
  • 進口&企圖使用InAppBrowser

我試圖刪除並重新安裝使用該插件無濟於事。

對於什麼是錯誤的任何想法?離子本地插件

+0

好了,記住,不是一個錯誤。它只是一個警告,說它可能不適用於瀏覽器。只是它。 – developer033

+0

我知道它不能在瀏覽器中工作,但我在Android設備上測試它,所以它不應該將此消息吐出。 (提到的實例方法實際上不起作用,我需要它們,這就是爲什麼我問這個問題)。我之前已經完成了它的工作,沒有將錯誤排除在外,但我不知道我這次做錯了什麼。 –

回答

3

用法必須等待該設備是「準備」

對於Ionic2有角,這可以通過導入平臺(與其他所有的東西)來實現你計劃使用哪個組件/服務離子原生插件。

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

,然後等待該平臺正準備上:

@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")); 
    }); 
    } 
} 
+0

但在哪裏添加此代碼?改進你的答案如何做到這一點 –

+1

@AlokRajasukumaran你必須將平臺導入你想要使用離子本地插件的任何組件/服務(添加到答案中)。 –

+0

是的,我弄明白了。謝謝。 –