【发布时间】:2017-04-27 14:21:36
【问题描述】:
一切都很好......直到我从 3 个月的假期回来工作并将我的 Firebase 从 9.8 更新到 10.0.1
现在我对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 用红色下划线表示:
该方法只能从测试或私有范围内访问
有人可以解释为什么会这样吗?我已经连续两天研究了一整天,我这辈子都想不通(尴尬)。
不管怎样,这段代码用于将文件上传到 Firebase 存储,然后当它完成时 (OnSuccess),它会获取下载 URL 并将其存储在 Firebase 数据库中。这在我更新到 10.0.1 之前效果很好。我在另一个模块中的下载任务中遇到了同样的错误。
这是一个屏幕截图,可以让您更好地了解我的情况:
【问题讨论】:
-
我应该补充一点,一旦我将 Firebase 和 Google Play 服务改回 9.8.0,所有错误都会消失。
-
使用Android Studio,当我点击
TaskSnapshot.getDownloadUrl()的出现并按Ctrl-B查看反编译的类文件时,我看到的声明是public android.net.Uri getDownloadUrl()。你也看到了吗? -
我也得到了这个,但我能够构建,所以我不确定为什么它被标记为错误而不是警告。想知道正确的方法是什么。
-
Firebase 指南甚至在他们的示例中使用了这种方法:firebase.google.com/docs/storage/android/upload-files。一定是疏忽。不是最好的,但是:禁用检查
-
对我来说这个错误出现在 android studio 2.3 中,在升级之前我使用 10.2.0 没有问题。
标签: android firebase firebase-storage