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