android - Android 上的 Ionic InAppBrowser 无法导航到自定义 Url Scheme

标签 android cordova ionic3 inappbrowser

我有一个设置,我在插件 InAppBrowser 中打开一个带有目标“_blank”的 url。插件 Deeplinks 也已安装和配置。

const browser: InAppBrowserObject = this.iab.create(url, '_blank', <InAppBrowserOptions>{
    location: "no",
    toolbar: "no",
    footer: "no"
});

browser.on('loadstart').subscribe((event: InAppBrowserEvent) => {
    console.log(event);

    if (event.url.indexOf('wflwr://payment/success') > -1) {
        browser.close();
    }

    if (event.url.indexOf('wflwr://payment/cancel') > -1) {
        browser.close();
    }

    if (event.url.indexOf('wflwr://payment/error') > -1) {
        browser.close();
    }
});

我将其缩短以仅显示重要部分。打开的url是https://www.voan.ch/wfl/ (这只是真正实现之前的模拟)

预期的行为是,单击 url 上的每个链接时,应用程序内的浏览器实例应关闭。这在 iOS 上按预期工作,但在 Android 上不起作用。该事件只是没有被触发。如果我将其中一个网址更改为例如<a href="https://www.google.com">CANCEL</a> , 然后事件被触发。

最佳答案

在最新的 pr 中添加了对此的支持

要使用它你需要两件事:

例如允许 whatsapp 自定义方案和 twitter

  • 使用您要支持的自定义方案添加新的 config.xml 首选项: <preference name="AllowedSchemes" value="whatsapp,twitter" />`
  • 添加事件监听器定制方案: inAppBrowserRef.addEventListener('customscheme', function (event) { //do whatever you want here like: window.open(event.url, "_system"); });

关于android - Android 上的 Ionic InAppBrowser 无法导航到自定义 Url Scheme,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51908666/

相关文章:

html - 如何解决在 ionic 3 中实现搜索栏的管道时出现的错误(管道搜索无法找到或未找到)

java - BitmapFactory.decodeStream(stream, null, options) 时重用InputStream

Android如何检查相机是否用于拍照或录像

android - 如何在android studio中将On Click Listener设置为菜单项

android - Ionic 3 在运行 ionic cordova add platform android 后,我的 ionic-native/file,filepath,transfer 发生错误

使用 Phonegap 进行 Android 应用内购买

java - 在订阅时发出最新值的 RxJava Observable

iphone - 如何使用 PhoneGap(在 iPhone 上)获取用户的电话号码?

javascript - ionic 固定内容在底部

angular - 关闭模式菜单后,setRoot() 在 IONIC 3 中无法正常工作。有什么解决办法吗?