Белый экран для запуска внешнего приложения в Ionic 4 - PullRequest
1 голос
/ 01 июля 2019

У меня есть страница, на которой нужно запускать внешнее приложение при нажатии кнопки, и должна запускаться функция goToApp ().

Ниже приведен мой код для файла ts, но все на странице может быть загружено до точки, которую я добавил

import {AppLauncher, AppLauncherOptions} из '@ ionic-native / app-launcher / ngx';

Который сразу после этого страница больше не загружается. Код ошибки не возвращается. Любая идея? Заранее спасибо.

import { Component,OnInit,Input } from '@angular/core';
import { AppLauncher, AppLauncherOptions } from '@ionic-native/app-launcher/ngx';
import { ModalController, Platform } from '@ionic/angular';
import { DomSanitizer,SafeResourceUrl } from '@angular/platform-browser';
/*
  Generated class for the Posts page.

  See http://ionicframework.com/docs/v2/components/#navigation for more info on
  Ionic pages and navigation.
*/

@Component({
  selector: 'page-fsfastcheck',
  templateUrl: 'fsfastcheck.html',
  styleUrls: ['fsfastcheck.scss'],
})


export class FSFastCheckPage implements OnInit {
  @Input()
  url: string = "https://eastchenconsultancy.com/feng-shui-fast-check/";
  url2: string = "https://eastchenconsultancy.com/appointment-list/";
  urlSafe: SafeResourceUrl;
  urlSafe2: SafeResourceUrl;
  mySegment: string = 'travelrequest';

  constructor(
      public modalView: ModalController,
      public sanitizer: DomSanitizer,
      private appLauncher: AppLauncher, private platform: Platform) { }

      ngOnInit() {
        this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.url);
        this.urlSafe2= this.sanitizer.bypassSecurityTrustResourceUrl(this.url2);
      }

      close() {
        this.modalView.dismiss();
      }

      goToApp() {
        const options: AppLauncherOptions = { }

        if(this.platform.is('ios')) {
          options.packageName = 'com.apple.compass'
        } else {
          options.packageName = 'com.gn.android.compass'
        }

        this.appLauncher.canLaunch(options)
          .then((canLaunch: boolean) => console.log('Compass is available'))
          .catch((error: any) => console.error('Compass is not available'));
        }


}

1 Ответ

1 голос
/ 02 июля 2019

Соблюдали ли вы стандартную часть, которую вам необходимо выполнить при добавлении новых модулей в ваше приложение:

По сути, вам нужно внедрить модуль в приложение:

// app.module.ts
import { AppLauncher } from '@ionic-native/app-launcher/ngx';

...

@NgModule({
  ...

  providers: [
    ...
    AppLauncher
    ...
  ]
  ...
})
export class AppModule { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...