Android WebView 导航事件?

标签 android navigation xamarin android-webview

我正在寻找相当于 WPF WebBrowser 的“Navigating”事件或 IOS UiWebView 的“ShouldStartLoad”事件的 Android WebView 事件。

我找到了“shouldOverrideUrlLoading”,但我不知道如何使用它,因为构造函数需要一个 URL...

想在导航前拦截Url,取消部分URL的导航...

我在 Visual Studio 中使用 Xamarin。

WPF 等价物:

webBrowser.Navigating += WebBrowserNavigating;

private void WebBrowserNavigating(object sender, NavigatingEventArgs e)
    {
        if (//condition)
        e.Cancel = true;
        //Do something else
    }

最佳答案

是的,您应该使用shouldOverrideUrlLoading 方法。此方法会自动调用,因此您不必担心参数。 为了使用这个方法,你必须首先像这样创建一个 WebViewClient:

private class HelloWebViewClient extends WebViewClient {

     @Override
   public boolean shouldOverrideUrlLoading(WebView view, String url) {
         ...
      }
}

然后,您将其设置为您的 WebViewClient:

webview.setWebViewClient(new HelloWebViewClient());

shouldOverrideUrlLoading 方法被调用时,您将通过参数接收 WebView 和将要加载的 URL。

关于Android WebView 导航事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23560555/

相关文章:

html - 移除 Foundation 6 下拉箭头

android - Xamarin Android : FirebaseInstanceIdService was deprecated but no OnNewToken in FirebaseMessagingService

azure - 无法使用 Azure DevOps 发布管道将 APK 发布到 Visual Studio App Center

android - 您如何检测通知的向左/向右滑动?

android - YouTubePlayerFragment:由于播放器顶部未经授权的覆盖,导致YouTube视频播放停止

java - 登录网站而不使用网站首页?

swift - 如何在 SwiftUI 中从一个 View 重定向到另一个 View ?

安卓导航 Intent

java - Xamarin 与 ECPublicKey 的 Java 文档之间的差异

java - 适用于 Android 的 Google map - 多段线崩溃应用