【问题标题】:drive pdf app shows download option even file is downloaded驱动 pdf 应用程序显示下载选项,即使文件已下载
【发布时间】:2017-11-16 12:42:25
【问题描述】:

我的 android 应用程序通过 get 方法从 Web 服务下载 pdf 文件,并且 url 是 https。下载后将文件发送到驱动pdf应用程序以打开文件。云端硬盘应用程序正确打开文件,但有些奇怪。右上角的菜单有一个下载选项。当我点击它驱动应用程序尝试下载文件和文件被破坏。永远不要再打开它。云端硬盘应用显示:“类型无效”。为什么即使文件已下载,驱动 pdf 应用程序也会显示下载选项?有办法隐藏吗?

编辑:我打开驱动器应用程序的代码是;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        Uri contentUri = FileProvider.getUriForFile(context,
                context.getApplicationContext().getPackageName() + ".provider", file);
        intent.setDataAndType(contentUri, "application/pdf");
    } else {
        Uri uri = Uri.fromFile(file);
        intent.setData(uri);
        intent.setDataAndType(uri, "application/pdf");
    }

【问题讨论】:

  • 我已将问题编辑得更清楚。顺便说一句,我的设备版本是 7.0

标签: android pdf


【解决方案1】:

如果您通过 GET 方法下载此 pdf,我假设不是来自驱动器。您正在触发通过驱动器打开该 pdf 的意图。在您的驱动器查看器上打开的 pdf 未在您的驱动器上上传(存在)。现在,当您单击下载选项时,它会在通知中显示为已下载的 pdf,但它没有(它只是显示为通知,我不知道为什么会发生这种情况,它可能是驱动器查看器中的错误)。因此,当您单击通知时,它会将错误显示为无效类型,因为没有下载此类文件(它就像一个空意图)。

驱动器查看器中显示的下载选项是默认选项,它将显示在您从驱动器查看器打开的每个 pdf 中。

此外,无法隐藏该按钮,因为它位于驱动器应用程序中,而不是您的。

另外,我做了确切的步骤,也得到了同样的错误。

【讨论】:

  • 是的,我正在从我的应用程序下载,然后通过驱动器打开它。但是请查看这篇迷你文章androidpolice.com/2016/02/21/…。当文件链接为 https 时,下载选项消失。但也许是关于从驱动器下载。我不确定。
  • 我还想补充一点,它确实会下载文件。如果你检查你的下载文件夹,你会看到一个同名的 pdf,大小为 0 字节。在驱动器查看器中单击并打开它会立即关闭它,因为其中没有数据。
  • 我已经测试了你的情况。我从我的驱动器下载了一个 pdf 文件。然后在文件资源管理器中,我使用驱动器 pdf 查看器打开,不幸的是相同。右上角有下载选项,点击后文件坏了
  • 另外,文章中所说的http vs https的行为只是一种观察。这种行为也可以在 playstore.Link 上单独提供的 google pdf 查看器中重现:play.google.com/store/apps/…
  • Yess.. 与 Google Pdf Viewer 的行为相同.. 很难理解为什么即使下载了文件也存在下载选项:)
猜你喜欢
  • 1970-01-01
  • 2013-01-27
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-23
相关资源
最近更新 更多