无法从 Android 中的 Firebase 存储获取下载网址 [重复]

Posted

技术标签:

【中文标题】无法从 Android 中的 Firebase 存储获取下载网址 [重复]【英文标题】:Can't get download url from Firebase Storge in Android [duplicate] 【发布时间】:2018-11-20 13:09:32 【问题描述】:

无法从 android 中的 Firebase Storge 获取下载网址。我明白了:

com.google.android.gms.tasks.zzn@

而不是url下载链接。我的代码:

storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() 
@Override
            public void onSuccess(Uri uri) 
                uri1=uri;
                downloadURL =uri.toString();
                            // Got the download URL for 'users/me/profile.png'
            
            ).addOnFailureListener(new OnFailureListener() 
                @Override
                             public void onFailure(@NonNull Exception exception) 
                                 // Handle any errors
                             
             );

 if(uri1==null&&downloadURL==null)
                 Toast.makeText(MainActivity.this, "error", Toast.LENGTH_SHORT).show();
             else if(uri1==null)
                Toast.makeText(MainActivity.this, ""+downloadURL, Toast.LENGTH_SHORT).show();
             else if(downloadURL==null) 
                            Toast.makeText(MainActivity.this, "" + uri1, Toast.LENGTH_SHORT).show();
             

谢谢你

【问题讨论】:

【参考方案1】:

为了获取 url,你需要附加一个监听器。所以要解决这个问题,请使用以下代码:

ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() 
    @Override
    public void onSuccess(Uri uri) 
        String uri = uri.toString();
        Log.d("TAG", uri);
).addOnFailureListener(new OnFailureListener() 
    @Override
    public void onFailure(@NonNull Exception exception) 
        // Handle Errors
    
);

【讨论】:

你不应该只发布一个例子,你应该添加你正在使用的确切代码。所以请分享确切的代码以查看问题。 见这里how to ask a question。如果你不分享你的代码,我就帮不上什么忙了。 我试试你发送的内容,它在 taskSnapshot 中显示错误我需要做什么? 请看我的第一条评论。 看到上面的代码,您需要将 if 语句移到 onSuccess 方法中。对应的 toast 会正常工作的吧?

以上是关于无法从 Android 中的 Firebase 存储获取下载网址 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法将图像从ImageView上传到Android中的FireBase存储

Firebase 动态链接 - 从 Play 商店安装应用程序后无法在 android 中获取 Url

从Firebase读取数据到Android目前没有代码

无法从 Android 将数据发布到 Firebase 数据库

Android - “firebase.test.lab”设置无法从 Firebase 分析中排除 Play 商店测试活动

如何从 Firebase Android Query 中的 StartAt 特定位置和 EndAt 特定位置获取值