gpt4 book ai didi

android - 上传完成前调用 Firebase Storage onSuccess

转载 作者:行者123 更新时间:2023-11-29 15:35:55 28 4
gpt4 key购买 nike

我正在使用 Firebase 存储来保存照片。但是在上传完成之前调用了我的 onSuccess

错误:

 java.lang.IllegalStateException: Task is not yet complete
at com.google.android.gms.common.internal.Preconditions.checkState(Unknown Source)
at com.google.android.gms.tasks.zzu.zzdq(Unknown Source)
at com.google.android.gms.tasks.zzu.getResult(Unknown Source)
at in.sekreative.sekreative.ui.auth.AuthActivity$uploadPhotoAndRegister$2.onSuccess(AuthActivity.kt:133)
at in.sekreative.sekreative.ui.auth.AuthActivity$uploadPhotoAndRegister$2.onSuccess(AuthActivity.kt:24)
at com.google.firebase.storage.zzj.zza(Unknown Source)
at com.google.firebase.storage.zzaa.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6123)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

代码

val storage = FirebaseStorage.getInstance().reference
storage.child("images/profile/${mAuth.currentUser?.uid}.jpg").putBytes(data)
.addOnProgressListener {
val progress = 100.0 * it.bytesTransferred / it.totalByteCount
dialog.incrementProgress(progress.toInt())
}
.addOnSuccessListener {
user.profile = it.storage.downloadUrl.result.toString()
registerDataWithoutPhoto(user)
}
.addOnFailureListener {
toast("Error uploading photo. You can update your profile pic later in the profile section.")
registerDataWithoutPhoto(user)
}

为什么在任务完成之前调用成功监听器?

仅供引用:之前几次它都运行良好。这是一个突然的错误。

最佳答案

it.storage.downloadUrl ( javadoc ) 返回一个仅在引用的下载 URL 可用后才完成的任务。您的代码不会等待该任务完成。相反,它试图立即获得结果,而该访问会引发异常。相反,您应该像处理 putBytes 返回的任务一样在该任务上使用监听器。

关于android - 上传完成前调用 Firebase Storage onSuccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50319622/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com