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