参考文章:http://blog.csdn.net/analyzesystem/article/details/51314323 总结
http://www.cnblogs.com/zhaoyanjun/p/5033923.html最新的库,速度快,但是并不好用
http://www.jianshu.com/p/1bf49af6584d 总结全面,但是无实例
http://blog.csdn.net/u010046908/article/details/53008310 小案例
github:
https://github.com/barteksc/AndroidPdfViewer
https://github.com/JoanZapata/android-pdfview,旧库,慢,但是可以侧滑。
WebView 中调用 GoogleDocs
这是最简单的一种方式,利用 GoogleDocs 提供的能力,通过 Android 的 WebView 即可实现打开在线 PDF 文档,代码如下所示:
public void setDocumentPath(final String path) {
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginsEnabled(true);
webView.loadUrl("https://docs.google.com/viewer?url=http://www.asce1885.com/cms/wwwroot/ng/downLoad/011615200732.pdf");
}
这种方案存在的问题是国内通常情况下访问不了 Google 提供 的服务,因此这种方案可以不考虑。
调起第三方支持 PDF 阅读的应用
可行方案中最简单的一种方式,缺点是会跳出自己的应用转到第三方应用中,而且需要具备以下两个条件:
- PDF 文件需要下载到本地,不支持在线阅读
- 用户手机中安装了支持 PDF 阅读的应用
实现这个方案的代码示例如下:
public Intent getPdfFileIntent(File file) {
Intent intent = new Intent("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "application/pdf");
return Intent.createChooser(intent, "Open File");
}