我目前正在实现和测试所需的逻辑,以使用OnFailure Listener from Firebase Storage SDK重试失败的上传。为了加快测试速度,我使用setMaxUploadRetryTimeMillis (long maxTransferRetryMillis)方法设置了重试上载的最长时间。另外,我在手机中禁用了移动数据和Wifi功能,导致上传失败。
但是,一旦上传失败,我将无法再次恢复。如果我再次尝试调用Firebase方法来上传文件,则会收到以下异常:
07-04 16:42:11.981 28584-28584/directrips.viajero.anonimo.free E/StorageException: StorageException has occurred.
The operation retry limit has been exceeded.
Code: -13030 HttpResult: -2
Network subsystem is unavailable
java.net.SocketException: Network subsystem is unavailable
at com.google.android.gms.internal.acf.zze(Unknown Source)
at com.google.android.gms.internal.abu.zza(Unknown Source)
at com.google.firebase.storage.UploadTask.zzc(Unknown Source)
at com.google.firebase.storage.UploadTask.zzaK(Unknown Source)
at com.google.firebase.storage.UploadTask.zzLa(Unknown Source)
at com.google.firebase.storage.UploadTask.run(Unknown Source)
at com.google.firebase.storage.zzr.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
即使再次恢复网络连接也是如此。我的应用程序中依赖于移动网络连接的其他部分都可以正常工作。 Firebase上载的相关代码是唯一不起作用的代码。
上传失败后,我还需要执行其他任何步骤来恢复吗?还是我需要重置上传重试时间或重试次数?如果答案是肯定的,我该怎么办?我没有在文档中找到有关该步骤的任何信息。