Android WebView导航事件?

我正在寻找Android WebView的事件,它等同于WPF WebBrowser的“导航”事件,或IOS UiWebView的“ShouldStartLoad”.

我找到了“shouldOverrideUrlLoading”,但我不知道如何使用它,因为构造函数需要一个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.

上一篇:【水滴石穿】rnTest


下一篇:是否可以从Android网页上启动导航应用程序?