android - 在 webview 中显示 pdf 不起作用

标签 android pdf webview

我正在 WebView 中显示带有 Google 文档的 pdf 文件。我正在使用来自 Google 云端硬盘的网址。我从 Google Drive 尝试了很多格式,但没有运气。 我的网址链接如下

https://drive.google.com/drive/u/0/folders/0Bxd-5Rffh6BufmNiYS16NFZKN2JmYzd3TjgtWmxLeEZ2SnlMa2l2RDhmYlNyTDgtUXZOdnM

我的 Activity 类如下”

public class FormWebViewActivity extends CustomWindow {

int value;
static String POSITION_ID = "position";
// WebView webView;

ProgressBar progressBar_webview;

@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    try {

        WebView webView = new WebView(FormWebViewActivity.this);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setPluginState(PluginState.ON);

        String pdfURL = "https://drive.google.com/drive/u/0/folders/0Bxd-5Rffh6BufmNiYS16NFZKN2JmYzd3TjgtWmxLeEZ2SnlMa2l2RDhmYlNyTDgtUXZOdnM";
        // https://drive.google.com/file/d/0Bxd-5Rffh6BuSlhnTHJsMW5Hclk/view

        webView.setWebViewClient(new WebViewClient() {

            @Override
            public void onPageFinished(WebView view, String url) {

                super.onPageFinished(view, url);
                // progressBar_webview.setVisibility(View.GONE);
            }
            @Override
            public void onPageStarted(WebView view, String url,
                    Bitmap favicon) {

                super.onPageStarted(view, url, favicon);
                // progressBar_webview.setVisibility(View.VISIBLE);
            }
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // view.loadUrl(url);
                return false;
            }

        });

        webView.loadUrl("http://docs.google.com/gview?embedded=true&url="
                + pdfURL);
        setContentView(webView);

    } catch (RuntimeException e) {
        e.printStackTrace();
    }
    // WebView webView = new WebView(FormWebViewActivity.this);
}

}

但它只显示 HTML 代码,而不是实际的 PDF View 。 我是否输入了错误的 Google 云端硬盘 URL?或者无法从 Google 云端硬盘显示。

任何 PDF 文件的免费网络托管也将受到赞赏。

最佳答案

除了 @Derek Fung 的回答之外,如果您的驱动器有登录 session ,您可能还需要提供 session 访问权限。

但是,如果您使用仅查看网址,则不会建议用户登录该 Google 帐户。

简单地你可以像这样使用::

 webView.loadUrl("https://docs.google.com/viewer?url="+ pdfURL);

关于android - 在 webview 中显示 pdf 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32304769/

相关文章:

java - ListView 一遍又一遍地只显示最后一项

android - 使用 xml 降低 Android 工具栏高度

java - 有没有办法限制 Android 中的 Google 登录到某个电子邮件域?

android - 如何使用 GPUimage 在 Android 中对同一张图像应用多个滤镜?

pdf - 批量将svg转换为pdf页面大小

java - "startsWith"方法

javascript - iFrame 中的 PDF 与 jQuery 对话框重叠,z-index 不起作用

c# - 使用 Winform 应用程序填写 PDF/表格

c# - 在 UWP WebView 中前后拦截鼠标

android - 如何在 Google Glass 中滚动网页 View