Firebase存储下载不会在网络重新连接时恢复

时间:2016-08-17 09:57:51

标签: android firebase firebase-authentication firebase-storage

故事

我正在使用Firebase Storage上传和下载文件。 上传几乎完美无缺,如果设备暂停互联网连接几分钟,则上传会停止,但一旦连接恢复,它就会自动恢复。

问题

我也期待下载的完全相同的行为。但它并不像那样。如果我的设备丢失了互联网连接,则下载会突然失败,并且在几秒钟后连接恢复后不会自动停止。

这是正常行为还是我错过了什么?

修改

这是错误,

  

com.google.firebase.storage.StorageException:发生未知错误,请检查HTTP结果代码和服务器响应的内部异常。

Read error: ssl=0xb7e7a510: I/O error during system call, Connection timed out
                                                                           javax.net.ssl.SSLException: Read error: ssl=0xb7e7a510: I/O error during system call, Connection timed out
                                                                               at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
                                                                               at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:699)
                                                                               at com.android.okio.Okio$2.read(Okio.java:113)
                                                                               at com.android.okio.RealBufferedSource.read(RealBufferedSource.java:48)
                                                                               at com.android.okhttp.internal.http.HttpConnection$FixedLengthSource.read(HttpConnection.java:446)
                                                                               at com.android.okio.RealBufferedSource$1.read(RealBufferedSource.java:168)
                                                                               at java.io.InputStream.read(InputStream.java:162)
                                                                               at com.google.firebase.storage.FileDownloadTask.run(Unknown Source)
                                                                               at com.google.firebase.storage.StorageTask$5.run(Unknown Source)
                                                                               at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                               at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                               at java.lang.Thread.run(Thread.java:818)

1 个答案:

答案 0 :(得分:0)

您可以使用下载网址(reference.getDownloadUrl())使用Android下载管理器管理强大的下载。

请参阅: Android download manager completed

我们将在即将发布的版本中改进此处理方式。 另外,我建议使用许多图像下载SDK(如Glide https://github.com/bumptech/glide