我知道这个问题已被多次询问过,但我仍然无法让它发挥作用。我在原始文件夹中有一个pdf,我正在尝试使用“https://drive.google.com/viewerng/viewer?embedded=true&url=”在webview中打开它以在webview中打开它。
我认为我的问题是我无法获得pdf文件的正确路径。我已经尝试了三种不同的方式,并且webview说我得到一个错误(url不存在),或者它“打开”pdf,但是webview在中间显示这个文本,“No preview available”
这是我尝试获取文件路径的三种方式。
对于方法1和3,我尝试过“filename”和“filename.pdf”
这些都不允许在webview中加载pdf。下面是我用来加载pdf的代码。 (注意:如果我使用网址而非本地文件,此方法可以正常工作)
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而不占用整个活动页面?
答案 0 :(得分:2)
我在原始文件夹中有一个pdf,我正在尝试使用“https://drive.google.com/viewerng/viewer?embedded=true&url=”在webview中打开它以在webview中打开它。
这是不可能的。
有没有更好的方法在我的应用中加载本地pdf而不占用整个活动页面?
最好的办法就是不要在你的应用程序中加载它。通过ACTION_VIEW
使用用户首选的PDF查看应用。
除此之外,你可以在Android 4.4+上使用稍微修改过的PDF.js版本。或者,use AndroidPdfViewer
适用于更广泛的Android版本,但它会让您的APK更大。有关这些和其他(更糟)选项的更多背景信息,请参阅this blog post。
此外,以下示例应用程序演示: