From 655f3a45c1179088863c8304fd6d72df657ec013 Mon Sep 17 00:00:00 2001 From: Dimitris-Rafail Katsampas Date: Mon, 3 Oct 2022 03:04:25 +0300 Subject: [PATCH] fix(android): webview href schemes threw 'net::ERR_UNKNOWN_URL_SCHEME' (#10048) --- packages/core/ui/web-view/index.android.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/core/ui/web-view/index.android.ts b/packages/core/ui/web-view/index.android.ts index 5bcd8b4fe..ec18b3dc3 100644 --- a/packages/core/ui/web-view/index.android.ts +++ b/packages/core/ui/web-view/index.android.ts @@ -1,6 +1,7 @@ import { disableZoomProperty, WebViewBase, WebViewClient } from './web-view-common'; import { Trace } from '../../trace'; import { knownFolders } from '../../file-system'; +import { openUrl } from '../../utils'; export * from './web-view-common'; @@ -19,11 +20,19 @@ function initializeWebViewClient(): void { return global.__native(this); } - public shouldOverrideUrlLoading(view: android.webkit.WebView, url: any) { + public shouldOverrideUrlLoading(view: android.webkit.WebView, target: any) { + const url: string = target instanceof android.webkit.WebResourceRequest ? target.getUrl().toString() : target; + if (Trace.isEnabled()) { Trace.write('WebViewClientClass.shouldOverrideUrlLoading(' + url + ')', Trace.categories.Debug); } + // Handle schemes like mailto, tel, etc + if (!android.webkit.URLUtil.isNetworkUrl(url)) { + openUrl(url); + return true; + } + return false; }