【发布时间】:2018-08-19 22:27:36
【问题描述】:
我知道这个问题已经被问过很多次了,但我仍然无法让它发挥作用。我在原始文件夹中有一个 pdf,我正在尝试使用“https://drive.google.com/viewerng/viewer?embedded=true&url=”在 webview 中打开它以在 webview 中打开它。
我认为我的问题是我无法获得 pdf 文件的正确路径。我已经尝试了三种不同的方式,或者 webview 说我收到错误(url 不存在),或者它“打开”pdf,但是 webview 在中间显示这个文本,“没有可用的预览” .
这是我尝试获取文件路径的三种方式。
- “android.resource://com.an.example/raw/filename”
- "android.resource://" + getPackageName() + "/" + R.raw.filename;
- Environment.getExternalStorageDirectory() + "/filename.pdf"
对于方法 1 和 3,我尝试了 "filename" 和 "filename.pdf"
这些都不允许 pdf 在 webview 中加载。下面是我用来加载 pdf 的代码。 (注意:如果我使用 web url 而不是本地文件,此方法确实有效)
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 而不会占用整个活动页面?
【问题讨论】: