未安装LaunchNavigator Ionic2插件

时间:2017-02-19 23:52:40

标签: android cordova ionic2

我是Ionic 2的新手以及周围的一切。我正在尝试设置我的第一个移动应用程序:触摸按钮我会打开原生导航(例如Google Maps for Android)。我安装了launchnavigator插件:

ionic plugin add uk.co.workingedge.phonegap.plugin.launchnavigator

并在cremony.ts页面内:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { LaunchNavigator, LaunchNavigatorOptions } from 'ionic-native';

@Component({
  selector: 'page-ceremony',
  templateUrl: 'ceremony.html'
})
export class Ceremony {

  constructor(public navCtrl: NavController) {

  }

  navigate() {
    let options: LaunchNavigatorOptions = {
      start: ""
    };

    LaunchNavigator.navigate("London, UK", options)
      .then(
      success => alert('Launched navigator'),
      error => alert('Error launching navigator: ' + error)
      );
  }
}

制作构建npm run build并使用ionic upload将其上传到IonicView。 我做了this link中建议但运气不同的所有事情。

但是当我点击Ionic View中的按钮(在logo.html中一个简单的<button ion-button (click)="navigate()">Navigate</button>)时,错误说:Error launghing navigator: plugin_not_installed

我检查了项目,plugins目录包含uk.co.workingedge.phonegap.plugin.launchnavigatorlooks目录。所以我查看了package.jsonconfig.xml,并在uk.co.workingedge.phonegap.plugin.launchnavigator中添加了值cordovaPlugins  并在<plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" spec="~3.2.1" />根目录中标记widgetnpm run buildionic upload,但没有任何变化。

我的错误在哪里?

3 个答案:

答案 0 :(得分:2)

新答案,您的项目有问题。你修改过index.html文件了吗?它还包括cordova.js吗?如果是这样,您使用的是什么版本的Ionic和Cordova?

我使用您的确切代码制作了此示例应用程序,它在iOS和ANdroid上都运行良好:https://github.com/roblouie/navigator-plugin-test

在iOS上录制了一个屏幕:https://giphy.com/gifs/xTiN0EEQV82aIXWnQI 刚抓取Android上的图片,但效果相同:Android Pic

请从github尝试该项目。

答案 1 :(得分:1)

只有在platform准备就绪后才需要调用Cordova插件。

constructor(public navCtrl: NavController,public platform:Platform) {//inject in constructor

  }

在您的函数navigate()

this.platform.ready().then(()=>{
LaunchNavigator.navigate("London, UK", options)
      .then(
      success => alert('Launched navigator'),
      error => alert('Error launching navigator: ' + error)
      );
});

答案 2 :(得分:1)

您的错误原因是您正在使用Ionic View。你的Ionic应用只是html,css和javascript。但是,您使用的任何插件都是用Java for Android和Objective C for iOS编写的。然后将该插件源代码编译到每个平台的应用程序中。

使用Ionic View,它只会上传你的应用程序,html,css和javascript。没有编译。 Ionic View是应用程序本身,它会加载您的代码。所以没有包含你自己的插件。 Ionic View本身确实安装了一些插件,您可以在此处看到该列表:https://docs.ionic.io/tools/view/#supported-plugins

不幸的是,如果不构建和部署到设备或模拟器,您将无法测试不在该列表中的任何插件。