Firebase 下载进度条

Firebase download progress bar

我想显示一个下载进度条,向用户显示在我的应用程序继续下一个 activity 之前还剩下多少字节要下载(而不是只显示黑屏)。我已经尝试使用此代码:

task.addOnProgressListener(new OnProgressListener<FileDownloadTask.TaskSnapshot>() {
            private float previouslyTransferedBytes = 0;
            private boolean firstProgress = true;
            @Override
            @SuppressWarnings("VisibleForTests")
            public void onProgress(FileDownloadTask.TaskSnapshot taskSnapshot) {
                //update total bytes to download
                if(firstProgress){
                    Intent totalBytesToDownloadIntent = new Intent(Code.TOTAL_BYTES_TO_TRANSFER);
                    float totalbytecount = taskSnapshot.getTotalByteCount();
                    totalBytesToDownloadIntent.putExtra(Code.TOTAL_BYTES_TO_TRANSFER,totalbytecount);
                    GlobalVars.applicationContext.sendBroadcast(totalBytesToDownloadIntent);
                    firstProgress = false;
                }
                float newlyTransfered = taskSnapshot.getBytesTransferred()-previouslyTransferedBytes;
                Intent downloadProgress = new Intent(Code.DOWNLOAD_PROGRESS);
                downloadProgress.putExtra(Code.BYTES_TRANSFERED,newlyTransfered);
                GlobalVars.applicationContext.sendBroadcast(downloadProgress);
                previouslyTransferedBytes = taskSnapshot.getBytesTransferred();
            }

        });

但总字节数仅为 returns -1。我做错了什么?

编辑:文件肯定存在,因为它已被正确下载并稍后在应用程序中使用。

编辑 2:"task" 属于 FileDownloadTask 类型。

当第一次调用onProgressListeneronProgress()下载时,getBytesTransferred() == 0getTotalByteCount() == -1。在后续调用中,总字节数是正确的。我不知道这是一个错误还是 API 的一个未记录的细节。您可以向 Firebase Support 报告以获得他们的反馈。