From 4045557f6e3c804f3f0412932010b775bdf168b3 Mon Sep 17 00:00:00 2001 From: "Felix C. Stegerman" Date: Wed, 30 Dec 2020 19:03:57 +0100 Subject: [PATCH] webview: add mOpenExternalLinksInBrowser field --- .../src/main/java/org/kivy/android/PythonActivity.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pythonforandroid/bootstraps/webview/build/src/main/java/org/kivy/android/PythonActivity.java b/pythonforandroid/bootstraps/webview/build/src/main/java/org/kivy/android/PythonActivity.java index 9fad3669c7..d46c7152f3 100644 --- a/pythonforandroid/bootstraps/webview/build/src/main/java/org/kivy/android/PythonActivity.java +++ b/pythonforandroid/bootstraps/webview/build/src/main/java/org/kivy/android/PythonActivity.java @@ -34,6 +34,7 @@ import android.webkit.WebViewClient; import android.webkit.WebView; +import android.net.Uri; import org.renpy.android.ResourceManager; @@ -45,6 +46,7 @@ public class PythonActivity extends Activity { private static final String TAG = "PythonActivity"; public static PythonActivity mActivity = null; + public static boolean mOpenExternalLinksInBrowser = false; /** If shared libraries (e.g. SDL or the native application) could not be loaded. */ public static boolean mBrokenLibraries; @@ -163,6 +165,13 @@ public void onClick(DialogInterface dialog,int id) { mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { + if (mOpenExternalLinksInBrowser) { + if (!(url.startsWith("file:") || url.startsWith("http://127.0.0.1:"))) { + Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + startActivity(i); + return true; + } + } view.loadUrl(url); return false; }