Java Android-获取用户在webview中单击的链接
如何获取用户在webview中单击的链接?示例:我的webview将用户带到一个列出信息和PDF的网站,如果用户单击PDF,我希望获得用户单击的PDF文件的链接,并将其放入Google的在线查看器中。我的代码不起作用,因为它没有截获点击的链接。有什么想法吗 以下是我所拥有的:Java Android-获取用户在webview中单击的链接,java,android,webview,Java,Android,Webview,如何获取用户在webview中单击的链接?示例:我的webview将用户带到一个列出信息和PDF的网站,如果用户单击PDF,我希望获得用户单击的PDF文件的链接,并将其放入Google的在线查看器中。我的代码不起作用,因为它没有截获点击的链接。有什么想法吗 以下是我所拥有的: webview.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, St
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// do your handling codes here, which url is the requested url
// probably you need to open that url rather than redirect:
if (url.startsWith("tel:")) {
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
} else if (url.startsWith("mailto:")) {
url = url.replaceFirst("mailto:", "");
url = url.trim();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL,
new String[] { url });
startActivity(i);
} else if (url.startsWith("geo:")) {
try {
} catch (Exception e) {
System.out.println(e);
}
} else if (url.endsWith("pdf")) {
try{
String pdf = (url);
webview.loadUrl("http://docs.google.com/viewer?url=" + pdf);
}
catch (ActivityNotFoundException e)
{
Toast.makeText(atcFaa.this, "No PDF Viewer Installed", Toast.LENGTH_LONG).show();
}
}
else {
view.loadUrl(url);
}
return true;
// then it is not handled by default action
}
});
webview.loadUrl("http://www.somewebsite.com/publications/");
}
我认为您要覆盖的方法是
- 通知主机应用程序资源请求并允许 应用程序返回数据。如果返回值为null,则 WebView将一如既往地继续加载资源。否则 将使用返回响应和数据。注意:此方法由调用 网络线程,因此客户端在访问时应谨慎 私人数据。参数
请参见我认为您要覆盖的方法是
- 通知主机应用程序资源请求并允许 应用程序返回数据。如果返回值为null,则 WebView将一如既往地继续加载资源。否则 将使用返回响应和数据。注意:此方法由调用 网络线程,因此客户端在访问时应谨慎 私人数据。参数
请参见我看到SDK的最低版本是11,如该示例中所述。我正在为版本10构建(适用于仍使用2.3.3姜饼的用户)。是我升级到下一个版本11的唯一选择吗?我看到最低SDK版本是11,如该示例中所述。我正在为版本10构建(适用于仍使用2.3.3姜饼的用户)。是我升级到下一个版本11的唯一选择吗?
public WebResourceResponse shouldInterceptRequest (WebView view, String url)