我想在我的WebView中打开一个PDF,我在这个论坛上找到并组合了代码.
但是,虽然我安装了多个PDF应用程序,包括Adobe Reader,但它仍然可以找到“找不到PDF应用程序”.
这里的代码:
private class PsvWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
if (url.contains(".pdf")) {
Uri path = Uri.parse(url);
Intent pdfIntent = new Intent(Intent.ACTION_VIEW);
pdfIntent.setDataAndType(path, "application/pdf");
pdfIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try
{
startActivity(pdfIntent);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(PsvWebViewActivity.this, "No PDF application found", Toast.LENGTH_SHORT).show();
}
catch(Exception otherException)
{
Toast.makeText(PsvWebViewActivity.this, "UnkNown error", Toast.LENGTH_SHORT).show();
}
}
return true;
} } }
解决方法:
(1)Google Docs Viewer,你可以在android浏览器中打开它,如,
mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+ webUrl);
更新:
(2)检查这个library,在build.gradle(app module)中添加这个依赖项,
compile 'com.github.barteksc:android-pdf-viewer:2.8.2'