首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Uri downloadUrl = taskSnapshot.getDownloadUrl();

Uri downloadUrl = taskSnapshot.getDownloadUrl();
EN

Stack Overflow用户
提问于 2017-03-26 02:39:05
回答 5查看 5.3K关注 0票数 0

此方法只能从测试或在私有作用域中访问...( API )此检查检查已使用各种支持注释(如RequiresPermission或UiThread)注释的Android API调用,并标记未按照注释指定的方式正确使用Ctrl+F1的任何调用。此检查标记的错误示例:将错误类型的资源整数(如R.string)传递给需要不同类型(如R.dimen)的API。在需要调用需要权限的方法中忘记调用被覆盖的方法(通过超级),而没有在清单中声明权限的情况下,将资源颜色引用传递给需要RGB整数值的方法。

https://discussions.udacity.com/t/uri-downloadurl-tasksnapshot-getdownloadurl/232533?u=tahirs95

EN

回答 5

Stack Overflow用户

发布于 2018-07-19 08:31:57

我知道为时已晚,但我的答案可能会帮助那些在2018年6月1日之后有这个问题的人……因为firebase在2018年6月1日之后改变了它的策略和一些功能。以前获取下载uri的方法会给你一些你不想要的东西。

尝尝这个

代码语言:javascript
复制
 StorageReference storageReference = FirebaseStorage.getInstance().getReference();

                final StorageReference ref = storageReference.child("folder_name_of_firebse_storage/" + UUID.randomUUID().toString());


                UploadTask uploadTask = ref.putFile(your_image_uri_which_need_to_be_uploaded);

                Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
                    @Override
                    public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
                        if (!task.isSuccessful()) {
                            throw task.getException();
                        }

                        // Continue with the task to get the download URL
                        return ref.getDownloadUrl();
                    }
                }).addOnCompleteListener(new OnCompleteListener<Uri>() {
                    @Override
                    public void onComplete(@NonNull Task<Uri> task) {
                        if (task.isSuccessful()) {
                            Uri downloadUri = task.getResult();




                            //this is the uri you needed... 


                      uploaded_image_url = downloadUri.toString();



                        } else {
                            // Handle failures
                            // ...
                            Toast.makeText(EditUserProfile.this, "Image uploading failed ", Toast.LENGTH_SHORT).show();


                    }
                });

希望这能有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2018-07-15 04:56:56

这应该行得通!

代码语言:javascript
复制
Uri downloadUrl = taskSnapshot.getResult().getDownloadUrl();
票数 0
EN

Stack Overflow用户

发布于 2020-05-16 23:17:41

代码语言:javascript
复制
Uri downloadUrl = taskSnapshot.getStorage().getDownloadUrl();

更改变量名称:

代码语言:javascript
复制
Task<Uri> downloadUrl = taskSnapshot.getStorage().getDownloadUrl();

看起来不错。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43020393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档