我的问题非常简单,当我调用taskSnapshot.getTotalByteCount()
时,我的值为-1,因此当我插入addOnProgressListener的示例代码时,我得到非常奇怪的进度更新。
继承了我的完整代码:
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
Log.d("Progress", "onProgress: The value of the max is: " + taskSnapshot.getTotalByteCount());
Log.d("Progress", "onProgress: The progress is: " + progress);
}
请帮帮我们! :(
答案 0 :(得分:0)
我使用.putFile而不是.putStream设置上传任务,它可以工作,不知道为什么,但现在它的工作原理!这是代码:
UploadTasktask=FirebaseStorage.getInstance().getReferenceFromUrl(Constants.Firebase_Storage).child("Test").putFile(uri, metadata)
答案 1 :(得分:0)
因为它是一个警告,我已经看到reported此问题导致其未在官方docs中宣布的人 将您的代码更改为:
@Override
@SuppressWarnings("VisibleForTests")
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
Log.d("Progress", "onProgress: The value of the max is: " + taskSnapshot.getTotalByteCount());
Log.d("Progress", "onProgress: The progress is: " + progress);
}