我正在寻找相当于 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/