【问题标题】:Ionic 4 Android APK crashes when opening inAppBrowser '_self'Ionic 4 Android APK 在打开 AppBrowser '_self' 时崩溃
【发布时间】:2019-12-07 08:26:27
【问题描述】:

我已经构建了一个 Ionic 4 应用程序,它使用 inAppBrowser 组件在应用程序流程的某个点打开一个外部网站。

该应用运行良好,但在使用真正的 Android 手机进行测试时崩溃并且应用关闭。 浏览器、iOS、模拟器……一切正常。只有真正的 Android 设备在调用 this.browser.create(url, '_self') 时才会崩溃。

我已经测试了所有类型的东西。就像将代码放在应用程序工作流程的不同模块和不同部分中一样。 还尝试 grep 设备的 java 输出,但它根本没有返回任何错误消息。

这是我最后一次尝试,一个非常简单的方法。但它也崩溃了:

  initializeApp() {
    this.platform.ready().then(() => {
      this.statusBar.styleDefault();
      this.splashScreen.hide();

      const browser = this.iab.create('https://example.com/', '_self');

      browser.on('loadstop').subscribe(event => {
        // this.splashScreen.hide();
      });
    });
  }

我已经正确导入了模块以及配置文件中的<allow-navigation> 标签。

【问题讨论】:

  • 我也有这个问题,有解决办法吗?

标签: android cordova ionic-framework cordova-plugins ionic4


【解决方案1】:

它的cordova webview问题检查它是否已安装和工作

ionic cordova plugin add cordova-plugin-ionic-webview

或传递参数_blank insted of _self

【讨论】:

  • 据我所知,_blank 将打开 inAppBrowser,但我想用 _self 打开 webview,因为我在配置文件中将 URL 列入白名单。 webview 和 inappbrowser 插件已经安装。
【解决方案2】:

我发现应用程序崩溃了两次... 1)如果您将 null 或未定义的 url 传递给 In App Browser 并且目标是 _self 所以它无法找到并且应用程序已经崩溃

你需要通过_system

2) 您必须指定应用程序不会崩溃的选项

这样 let browser = this.inApp.create(url,'_self','location= no,hardwareback=no,clearsessioncache=yes');它有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多