我正在构建一个 Android 应用程序,用于将照片从设备上传到 Firebase 存储。图像已正确上传,但我无法让上传监听器工作。我已经浏览了文档here并实现了完全相同的解决方案:
System.out.println("Starting upload");
Uri file = Uri.fromFile(new File("myPath"));
StorageReference Ref = storageRef.child("images/"+file.getLastPathSegment());
uploadTask = Ref.putFile(file);
// Register observers to listen for when the download is done or if it fails
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// NEVER EXECUTES
System.out.println("upload failed");
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// NEVER EXECUTES
System.out.println("upload succeeded");
}
});
我可以看到第一行打印“开始上传”。但仅此而已。如果我添加 OnCompleteListener 也是如此,但这里省略了它。
出了什么问题?
最佳答案
尝试 OnCompleteListener
uploadTask = Ref.putFile(file);
uploadTask.addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
System.out.println("upload succeeded");
} else {
System.out.println("upload failed");
}
}
});
关于java - Firebase 上传监听器永远不会被解雇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57342325/