Android – Firebase – TaskSnapshot – 只能在私人范围内访问方法?

一切都很好,直到我从3个月的rest时间回来工作,并将我的Firebase从9.8更新到10.0.1

现在我对TaskSnapshot所有调用TaskSnapshot了我一个错误。

以下是以前正常工作的示例代码:

 OnSuccessListener<UploadTask.TaskSnapshot> successListener = new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { attachments.add(fileName + "*-*" + taskSnapshot.getDownloadUrl().toString()); numberOfCallbacks++; if (numberOfFiles == numberOfCallbacks) { currentUpload = false; onClickSendAlert(sendingView); } } }; 

我现在得到的错误是关于taskSnapshot.getDownloadUrl()

Android Studio强调这一行红色,并说:

这个方法只能从testing或私有范围内访问

有人可以解释为什么发生这种情况? 我一直在研究整整两天,现在不能为我的生活弄清楚(尴尬)。

值得一提的是,此代码用于将file upload到Firebase存储,然后在完成时( OnSuccess ),获取下载URL并将其存储在Firebase数据库中。 在我更新到10.0.1之前,这很好用。 我在另一个模块下载任务时遇到同样的错误。

以下是截图,让您更好地了解我的情况:

在这里输入图像说明

这个问题似乎是由过度的皮特检查造成的。 尝试这样的事情:

 @SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl(); 

这个窍门对我有用。 如果问题涉及到这个错误报告 ,那么它应该在2.4中修复。

我遇到了同样的问题,当我更新了我的Firebase版本后,问题就消失了。 我正在使用10.0.1,现在我正在使用11.0.0