2017-02-19 6 views
6

Я новичок в Ionic 2 и все вокруг. Я пытаюсь настроить мое первое мобильное приложение: нажав кнопку, я открою собственную навигацию (например, Google Maps для Android). Я установил плагин launchnavigator:Плагин LaunchNavigator Ionic2 не установлен

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 и загрузить его на IonicView с ionic upload. Я делаю все, как предлагалось в this link, но с разной удачей.

Но когда я нажимаю кнопку (простой <button ion-button (click)="navigate()">Navigate</button> в церемонии.html) в Ionic View, скажите: Error launghing navigator: plugin_not_installed.

Я осмотрел проект, каталог plugins содержит каталог uk.co.workingedge.phonegap.plugin.launchnavigatorlooks. Поэтому я смотрю package.json и config.xml, и я добавил значение uk.co.workingedge.phonegap.plugin.launchnavigator в cordovaPlugins и тег <plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" spec="~3.2.1" /> в корень widget. npm run build, ionic upload, но ничего не изменилось.

Где моя ошибка?

+0

Попробуйте позвонить в 'this.platform.ready(). Then (() => {})' –

+0

Похоже на Javascript, а моя кодовая база - в машинописном. Есть wya, чтобы перевести это в TS? –

+0

машинописный шрифт - это надмножество javascript .. –

ответ

1

Плагины Кордовы необходимо называть только один раз platform готов.

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

Nothin изменен :( –

+0

@Suraj, если он не загружен, тогда будет указано, что LaunchNavigator не определен – Gandhi

1

Причина вашей ошибки в том, что вы используете ионную View. Ваше приложение Ionic - это просто html, css и javascript. Однако любые используемые вами плагины написаны на Java для Android и Objective C для iOS. Этот исходный код плагина затем компилируется в ваше приложение для каждой платформы.

С Ionic View он загружает только ваше приложение, html, css и javascript. Ничего не составлено. Ionic View - это приложение, и он загружает ваш код. Таким образом, никакие плагины, которые у вас есть, не включены. На Ionic View на нем установлены некоторые плагины, и вы можете увидеть этот список здесь: https://docs.ionic.io/tools/view/#supported-plugins

К сожалению, вы не сможете протестировать любой плагин, не входящий в этот список, без создания и развертывания на устройстве или эмуляторе.

+0

Я сделал пакет '.apk' (используя команду' ionic build android'), установил его как недоверенный пакет (у меня еще нет учетной записи), и когда я нажимаю кнопку, я получаю 'Ошибка lauching navigator: cordova_not_available' –

+0

@ marianoc84 Хорошо, интересно ... это немного касается того, что на самом деле Кордова должна быть доступна при работе на устройстве. Возможно, я смогу позже копать сегодня, если раньше никто не решал ее. –

2

Новый ответ, что-то не так с вашим проектом. Вы изменили файл index.html? Он все еще включает cordova.js? Если да, то какую версию Ionic и Cordova вы используете?

Я сделал это пример приложения с точным кодом и он прекрасно работает на оба прошивке и AnDrOID: https://github.com/roblouie/navigator-plugin-test

ли запись экрана на прошивке: https://giphy.com/gifs/xTiN0EEQV82aIXWnQI Просто схватил изображение на Android, но она работает так же: Android Pic

Пожалуйста, попробуйте проект из github.

Смежные вопросы