繁体   English   中英

如何在WebView Android Studio中打开本地pdf文件

[英]How to open local pdf file in WebView Android Studio

我知道这个问题已经问过很多遍了,但是我仍然无法解决它。 我的原始文件夹中有一个pdf文件,我正在尝试使用“ https://drive.google.com/viewerng/viewer?embedded=true&url= ”在webview中打开它。

我认为我的问题是我无法获得pdf文件的正确路径。 我已经尝试了三种不同的方法,或者Webview提示我出错(URL不存在),或者“打开”了pdf,但是Webview在中间显示了此文本,“无可用预览” 。

这是我尝试获取文件路径的三种方法。

  1. “android.resource://com.an.example/raw/filename”
  2. “ android.resource://” + getPackageName()+“ /” + R.raw.filename;
  3. Environment.getExternalStorageDirectory()+“ /filename.pdf”

对于方法1和3,我尝试了“ filename”和“ filename.pdf”

这些都不允许pdf载入webview。 以下是我用来加载pdf的代码。 (注意:如果我使用Web网址而不是本地文件,则此方法有效)

    webview = (WebView) findViewById(R.id.webView);
    webview.getSettings().setJavaScriptEnabled(true);

    webview.getSettings().setBuiltInZoomControls(true);

    String pdf = "one_of_the_above_methods";
    webview.loadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf);

我究竟做错了什么? 有没有一种更好的方式可以在不占用整个活动页面的情况下在我的应用程序中加载本地pdf?

我的原始文件夹中有一个pdf文件,我正在尝试使用“ https://drive.google.com/viewerng/viewer?embedded=true&url= ”在webview中打开它。

那是不可能的。

有没有一种更好的方式可以在不占用整个活动页面的情况下在我的应用程序中加载本地pdf?

最好的办法是根本不将其加载到您的应用程序中。 通过ACTION_VIEW使用用户喜欢的PDF查看应用程序。

除此之外,您可以在Android 4.4+上使用经过稍微修改的PDF.js版本。 或者,在更大范围的Android版本上使用AndroidPdfViewer ,尽管它会使您的APK大很多。 有关这些和其他(更糟)选项的更多背景信息 ,请参见此博客文章

另外,这里有一些示例应用程序演示:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM