我的应用程序中有一个显示本地 html 文件的 WebView。我正在使用 shouldOverrideUrlLoading() 方法处理其中的 PDF 文件链接,但是通过这样做,页面上的 http:// 链接现在正在 WebView 中加载,而不是在设备的浏览器中。
下面的代码可以识别 pdf 文件,并且可以正常工作,但是当我单击外部 url 时,它会在 chrome 浏览器中打开两个选项卡,指向相同的 url。我怎样才能只打开一个?
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains(".pdf")) {
// Remove the file:///android_asset/ text in url
String tmpUrl = url.replace("file:///android_asset/", "");
PdfHandler pdf = new PdfHandler(mContext);
pdf.openPdf(tmpUrl);
return true;
}
else{
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
}
谢谢