【问题标题】:What intent would open a pdf from a url? [duplicate]从 url 打开 pdf 的意图是什么? [复制]
【发布时间】:2011-06-07 13:54:02
【问题描述】:

我正在尝试创建一个意图,在 pdf 阅读器中打开网络上的 pdf 文件(一个 url)。它似乎只有在文件是本地文件时才有效。

我知道这将取决于任何已安装的应用程序是否可以处理 url,但是由于我安装了几个 pdf 阅读器(其中一些声称他们可以在网络上阅读 pdf)并且它们都没有响应我想看看我的意图是否有问题。

这是我目前使用的:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(url), "application/pdf");

谢谢

【问题讨论】:

  • 看看this的帖子。

标签: android pdf android-intent


【解决方案1】:

您可以简单地在 Webview 中加载以下 URL

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

Google 文档会小心加载 PDF 网址。

【讨论】:

  • 这正是我去年的建议。
  • 并非如此 - 前缀不同,它向我们展示了如何将其加载到 WebView 而不是通过 Intent。这不是 littleFluffyKitty 所要求的,但它并不真正值得反对,如果它有效,可能对其他访问这个问题的人有用。没有?
【解决方案2】:

使用 google 文档查看器构建 pdf 的 URL。这最终会加快加载速度,因为他们不必在显示文件之前下载整个文件。

private static final String googleDocsUrl = "http://docs.google.com/viewer?url=";

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(googleDocsUrl + url), "text/html");

我们最近做了类似的事情,只是我们使用自己的 Activity 和嵌入式 webview 来显示 pdf,而不是转到浏览器。

【讨论】:

  • 我将什么传递给“url”?我必须上传我的文件吗?它不能在本地(没有互联网)上工作吗?
  • Emerald,没有互联网连接将无法工作。此外,您的资源必须位于 Internet 中的某个位置。
  • 不起作用。我收到一条消息说:道歉。没有可用的预览
  • @user2260040 我猜您是在要求 Google 加载您的网络专用的文档。那不会发生。
  • 这会加载一个未针对移动设备优化的网页。我们可以设置 URL 参数来解决这个问题吗?
猜你喜欢
  • 2012-06-09
  • 1970-01-01
  • 2011-05-13
  • 2011-04-25
  • 2010-12-07
  • 2019-02-01
  • 2011-06-11
  • 2018-03-25
  • 1970-01-01
相关资源
最近更新 更多