【问题标题】:Android - Use DownloadManager to download from inputStreamAndroid - 使用 DownloadManager 从 inputStream 下载
【发布时间】:2015-10-13 17:23:20
【问题描述】:

我有一项服务会返回一些 PDF 字节(可能是几 MB);但是字节字符串嵌入在 xml 结构中:

<response>
   <code>1</code>
   <message>ok</message>
   <bytes>......(here comes the pdf bytes).....</bytes>
</response>

在我启动 下载管理器 下载字节之前,我想做一个简单的 http 请求来读取 code 标记。因为代码可能指示错误,所以我会设法简单地向用户显示消息警报。

但我相信使用下载管理器将简化管理下载的过程而不会中断应用程序。

是否可以通过输入流让管理器继续下载并出现在Android通知中心?

一旦状态已知,应用可能无法撤回请求,因为状态可能会在后续请求中发生变化。

【问题讨论】:

    标签: android pdf inputstream android-download-manager download-manager


    【解决方案1】:

    是否可以通过输入流让管理器继续下载并出现在Android通知中心?

    没有。它必须下载整个文件。

    【讨论】:

    • 有什么更新吗?我有代表图像或 pdf 文件的 base64 字符串。我需要有进度的下载它
    • 对不起,我告诉你错误的方式,实际上我想将该字符串转换为文件并将其保存在目录中。我已经在使用 FileOutputStream 但 write(bytes) 方法没有提供任何侦听器来通知它已完成写入字节
    • @ZaidMirza:你必须自己做:写一些字节,更新你的进度,写一些字节,更新你的进度,等等。
    【解决方案2】:

    如果我很好理解您的问题:如果code 表示错误,则您不想执行下载。

    创建 XML 的服务器显然知道是否存在错误。那么如果有错误,为什么不把bytes留空呢?

    【讨论】:

    • (甚至完全省略字节标签)
    • 服务器在出现错误时将它们留空;但应用程序必须在“正式”开始下载之前知道它们是否为空。
    • 那恐怕我不明白你的用例。你为什么需要那个?下载这个几乎是空的 XML 会非常快。下载文件后,您的错误消息会以最快的速度显示...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    相关资源
    最近更新 更多