From 79156b9bcd496d840959eb3a951fba3acec8450f Mon Sep 17 00:00:00 2001 From: Miguel Machado Date: Tue, 6 Dec 2022 18:55:01 -0700 Subject: [PATCH] Adding example of how to allow links in the webview --- .../id/vouched/plugintest/MainActivity.kt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/app/src/main/java/id/vouched/plugintest/MainActivity.kt b/app/src/main/java/id/vouched/plugintest/MainActivity.kt index ebe2367..d115929 100644 --- a/app/src/main/java/id/vouched/plugintest/MainActivity.kt +++ b/app/src/main/java/id/vouched/plugintest/MainActivity.kt @@ -53,6 +53,33 @@ class MainActivity : AppCompatActivity(), VerificationListener { val myWebView: WebView = findViewById(R.id.webview) setWebContentsDebuggingEnabled(true) + // uncomment this section to allow web links in [myWebView], please make sure to only allow + // trusted links + /* + val onBackPressedCallbackForWebView = object : OnBackPressedCallback(false) { + override fun handleOnBackPressed() { + val currentIndex = myWebView.copyBackForwardList().currentIndex + if (myWebView.canGoBack()) myWebView.goBack() + if (currentIndex == 1) isEnabled = false + } + } + + onBackPressedDispatcher.addCallback(onBackPressedCallbackForWebView) + + myWebView.webViewClient = object : WebViewClient() { + + override fun shouldOverrideUrlLoading( + view: WebView?, + request: WebResourceRequest? + ): Boolean { + request?.url?.let { + view?.loadUrl(it.toString()) + onBackPressedCallbackForWebView.isEnabled = true + } + return true + } + } */ + myWebView.webChromeClient = object : WebChromeClient() { override fun onShowFileChooser(