当我列出插件(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.
我有最新版本的ionic-cli。
我在这里添加了一个示例项目:https://github.com/golear91/ionic2-broken-inappbrowser
我基本上:
cordova plugin add cordova-plugin-inappbrowser
InAppBrowser
我尝试删除并重新安装使用该插件无济于事。
对于什么是错误的任何想法?
答案 0 :(得分:4)
离子本机插件的使用必须等待设备“准备好”
对于带有Angular的Ionic2,可以通过将Platform(包含其他所有内容)导入到您计划使用离子本机插件的任何组件/服务来实现。
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"));
});
}
}
答案 1 :(得分:0)
添加插件/ android.json和plugins / ios.json
"cordova-plugin-inappbrowser": {}
这对我有用。
我希望能帮助你。
问候。