Android 尝试将facebook Uri上载到Firebase存储时出错

Android 尝试将facebook Uri上载到Firebase存储时出错,android,facebook-graph-api,firebase,firebase-storage,Android,Facebook Graph Api,Firebase,Firebase Storage,当用户登录Facebook(目前唯一的登录方式)并想发布一些东西时,我会先运行一些代码上传他们的个人资料图片,以便其他用户可以看到原始海报是谁。看起来我可以获得用户的配置文件图片Uri,例如(取自调试模式): 但是,当我跑步时: StorageReference posterPicture = mStorage.child("UsersPictures").child(profile.facebookID); posterPicture.putFile(pr

当用户登录Facebook(目前唯一的登录方式)并想发布一些东西时,我会先运行一些代码上传他们的个人资料图片,以便其他用户可以看到原始海报是谁。看起来我可以获得用户的配置文件图片Uri,例如(取自调试模式):

但是,当我跑步时:

StorageReference posterPicture = mStorage.child("UsersPictures").child(profile.facebookID);
        posterPicture.putFile(profile.profilePictureURI).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {...});
StorageReference posterPicture=mStorage.child(“UsersPictures”).child(profile.facebookID);
posterPicture.putFile(profile.profilePictureURI).addOnSuccessListener(新OnSuccessListener(){…});
它抛出一个错误,表示“没有内容提供商”

W/System.err:java.io.FileNotFoundException:无内容提供程序:

错误代码:-13000

HTTP响应代码:0


谢谢

简而言之,URI必须是文件系统中的文件(您必须下载并重新上传),或者您需要一个可以处理
HTTPS
scheme'ed文件的内容解析程序


也就是说,我要问你的问题是:为什么?该文件已经托管在Facebook上,可以通过该URL轻松检索,那么为什么还要再次上传呢?您可以非常轻松地在Firebase实时数据库中存储和共享该URL,无需向Firebase存储中的主机付费

我刚刚意识到,facebook是一个图形api,如果你有用户的facebook ID,你可以从中获取用户的个人资料图片。它现在可以工作了,非常感谢!