简体   繁体   English

如何修复Ionic V4.12.0中的inAppBrowser打开错误(仅在实际设备中存在)

[英]How to fix inAppBrowser open error in ionic V4.12.0 (issue in real device only)

i tried to open external url using InAppBrowser from "ionic-native/in-app-browser". 我尝试使用“ ionic-native / in-app-browser”中的InAppBrowser打开外部URL。 It's working fine while debugging in browser but error in debug with real device. 在浏览器中调试时工作正常,但在实际设备中调试时出错。 error given bellow 出现以下错误

ERROR Error: Uncaught (in promise): Error: Java exception was raised during method invocation Error: Java exception was raised during method invocation at androidExec (cordova.js:960) at module.exports (inappbrowser.js:113) at new InAppBrowserObject (vendor.js:84078) at InAppBrowser.push../node_modules/@ionic-native/in-app-browser/ngx/index.js.InAppBrowser.create (vendor.js:84119) at PaymentComponent. 错误错误:未捕获(承诺):错误:在方法调用期间引发了Java异常错误:在新InAppBrowserObject的module.exports(inappbrowser.js:113)处的androidExec(cordova.js:960)的方法调用期间引发了Java异常(vendor.js:84078),位于PaymentApp的InAppBrowser.push ../ node_modules/@ionic-native/in-app-browser/ngx/index.js.InAppBrowser.create(vendor.js:84119)。 (default~order-order-module~products-order-order-info-order-info-module~products-order-takeaway-page-~77b4b037.js:408) at step (vendor.js:161589) at Object.next (vendor.js:161570) at fulfilled (vendor.js:161560) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (polyfills.js:3239) at Object.onInvoke (vendor.js:59091) at resolvePromise (polyfills.js:3700) at polyfills.js:3610 at rejected (vendor.js:161561) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (polyfills.js:3239) at Object.onInvoke (vendor.js:59091) at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (polyfills.js:3238) at Zone.push../node_modules/zone.js/dist/zone.js.Zone.run (polyfills.js:2998) at polyfills.js:3758 at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (polyfills.js:3271) at Object.onInvokeTask (vendor.js:59082) (预设〜订单模组-产品订单资讯-订单信息模组-产品订单外卖页面~~ 77b4b037.js:408)在(Object.js:161589)步骤。在Object.onInvoke处的ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invoke(polyfills.js:3239)处实现(vendor.js:161560)下一个(vendor.js:161570) (vendor.js:59091),位于ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js处的polyfills.js:3610,被拒绝(vendor.js:161561)处,则polyfills.js:3610。在ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invoke(polyfills.js:3238)上的Object.onInvoke(vendor.js:59091)上的ZoneDelegate.invoke(polyfills.js:3239)在Zone.push ../ node_modules / zone.js / dist / zone.js.Zone.run(polyfills.js:2998)在polyfills.js:3758在ZoneDelegate.push ../ node_modules / zone.js / dist /位于Object.onInvokeTask(vendor.js:59082)的zone.js.ZoneDelegate.invokeTask(polyfills.js:3271)

import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';

constructor(        
        private iab: InAppBrowser
    ) {
        const browser = this.iab.create('https://ionicframework.com/');
    browser.close()
    //or 
     const browser1 = this.iab.create(https://ionicframework.com/);
         browser1.show();
    }

In my app there is no need to show the browser, and especially not to close it right after creation.. 在我的应用中,无需显示浏览器,尤其是创建后无需立即关闭浏览器。

Can you try the '_system' argument to open a browser with the system default? 您可以尝试使用“ _system”参数打开系统默认的浏览器吗? That might explain the error on a real device 那可能解释了真实设备上的错误

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM