首页 > 解决方案 > 如何让我的程序等到任务完成后再继续?

问题描述

我需要 Firebase 上图像的 Url/Uri,然后在下一行使用。它看起来像这样:

Uri uri = storageReference.getDownloadUrl().getResult();
this.doAThing(uri);

问题是我收到一条错误消息,提示“任务尚未完成”。我如何让它等到任务完成/有没有更好的方法来获取 Uri?

标签: javaandroidfirebase

解决方案


我在我的项目中需要一些类似的概念。我不得不使用内置的 firebase 监听器来获取 URL。

我使用了getDownloadUrl().addOnSuccessListener(),它返回了一个 URI

这是我的代码片段的一部分:

filepath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
        Log.d("=== link ",uri.toString());

        // Your code
    }
});

文件路径 - 它是一个引用该文件的 StorageReference 对象。

希望这可以帮助。


推荐阅读