Android 是否应在浏览器中插入请求打开链接

Android 是否应在浏览器中插入请求打开链接,android,android-webview,Android,Android Webview,在我的应用程序中,我有一个显示图像的webview。我想截取对图像的点击,并在浏览器中打开图像的href属性指向的URL。 我使用的是来自WebViewClient的shouldInterceptRequest方法,但我不确定从该方法返回什么作为响应。 我想做的事情如下所示: public WebResourceResponse shouldInterceptRequest(WebView view, String url) { final Intent browserI

在我的应用程序中,我有一个显示图像的webview。我想截取对图像的点击,并在浏览器中打开图像的href属性指向的URL。 我使用的是来自WebViewClient的shouldInterceptRequest方法,但我不确定从该方法返回什么作为响应。 我想做的事情如下所示:

public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
            final Intent browserIntent = new Intent (Intent.ACTION_VIEW, Uri.parse(url));
            startActivityForResult(browserIntent);
            return null;     
}
正确的方法是什么?
我的WebResourceResponse对象应该包含什么?

如果要拦截href单击,应该使用以下命令: ,java.lang.String)

每次加载资源(如css文件、js文件等)时都会调用shouldInterceptRequest。。。 将要打开新页面时调用shouldOverrideUrlLoading

以下是您想要做的:

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivityForResult(i);
    return true;
}

如果我错了,请纠正我的错误,但是shouldOverrideUrlLoading仅返回true,而实际的重写发生在“onLoadResource”方法中,每次加载资源(css文件、js文件)时都会再次调用该方法。如果shouldOverrideUrlLoading的实现返回true,则必须自行管理该操作。如果返回false,新页面将在您的webview中打开。