【发布时间】:2019-10-19 05:13:28
【问题描述】:
当我的 Android 设备没有任何网络连接时,我的 FailureListener 仅在 10 分钟后触发,就像我尝试将图片上传到我的 Firebase 存储时所指定的那样。
我想使用 maxUploadRetryTimeMillis 属性将其更改为大约 10 秒。但这并不像预期的那样工作。
到目前为止我的简化代码:
object StorageUtil {
private val storageInstance: FirebaseStorage by lazy { FirebaseStorage.getInstance() }
private val currentUserRef: StorageReference
get() = storageInstance.reference
.child(FirebaseAuth.getInstance().uid ?: throw NullPointerException("UID is null."))
fun uploadPicture(imageBytes: ByteArray,
onSuccess: (imagePath: String) -> Unit) {
storageInstance.maxUploadRetryTimeMillis = 10000
val ref = currentUserRef.child("pictures/${UUID.nameUUIDFromBytes(imageBytes)}")
val uploadTask = ref.putBytes(imageBytes)
uploadTask.addOnFailureListener {
Log.i("Upload Failed", "This message never shows up")
}
}
uploadPicture() 被这样调用:
StorageUtil.uploadPicture(picture) { url ->
moment.phtotoPaths.add(url)
renderImages()
}
这不起作用。它仍然会在 10 分钟后触发 FailureListener。
希望我能得到你的帮助。提前致谢!
【问题讨论】:
标签: android firebase kotlin firebase-storage