我将WebView添加到Android。一切正常。但是我的网站包含PDF链接。当单击Web视图上的PDF链接时,它将通过默认的Web浏览器(而不是WebView)打开。我也想在WebView中显示PDF。有什么方法可以限制它在同一WebView中打开?
答案 0 :(得分:1)
您可以使用Google Docs Viewer在Webview中获取pdf文件。
用法:
WebView webview = (WebView) findViewById(R.id.webview); // your webview
webview.getSettings().setJavaScriptEnabled(true);
String pdf = "http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf"; // pdf link
webview.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf);
答案 1 :(得分:0)
尝试一下:
您可以使用Google文档打开PDF文档,然后使用WebView加载Google文档的URL。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
WebView webView=new WebView(MainActivity.this);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginState(PluginState.ON);
webView.setWebViewClient(new Callback());
String pdfURL = "http://dl.dropboxusercontent.com/u/37098169/Course%20Brochures/AND101.pdf";
webView.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdfURL);
setContentView(webView);
}
private class Callback extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(
WebView view, String url) {
return(false);
}
}
像这样
答案 2 :(得分:0)
我找到了一个非常简单的解决方案(没有Google Drive Viewer等)。它将在预览窗口中打开pdf文档,用户可以在其中查看和保存/共享该文档:
webView.setDownloadListener(DownloadListener { url, userAgent, contentDisposition, mimetype, contentLength ->
val i = Intent(Intent.ACTION_QUICK_VIEW)
i.data = Uri.parse(url)
startActivity(i)
})
(科特琳)