在我的安卓应用程序中,为了通过google帐户进行身份验证,我遵循了这个官方教程用户,它可以工作。
如前所述,为了检索配置文件图片,我使用了"GoogleSignInAccount“类的GoogleSignInAccount方法。示例:
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
GoogleSignInAccount acct = result.getSignInAccount();
String personName = acct.getDisplayName();
String personEmail = acct.getEmail();
String personId = acct.getId();
Uri personPhoto = acct.getPhotoUrl();问题是,我通过这个URL获得的图像质量非常差(小)。
截图示例
我怎样才能解决这个问题?
发布于 2016-05-02 10:52:59
如果您的照片url有sz=50键(图像大小50或更多)。然后将大小替换为最高。就像sz=240
我不确定您的照片url有sz密钥,因为我使用了Person API,该API为getUrl()提供了sz密钥,以获取用户的详细信息,现在已经不再推荐了。
更新: Person.Image -官方文档,它说如何获得不同的轮廓化身
个人资料照片的网址。若要调整图像的大小并将其裁剪到正方形,请追加查询字符串?sz=x,其中x是双方像素的维度。
然而,正如@stackpic91所说,新API S96-c已经将其值更改为最高值,以获得大图像S240-c。
发布于 2019-04-11 10:21:17
当使用您选择的加载程序(Glide/Picasso)加载映像时,只需对url字符串执行以下操作:
avatarUrl.replace("s96-c", "s192-c", true)或
avatarUrl.replace("s96-c", "s384-c", true)为了更好的品质
发布于 2022-10-04 19:19:30
这很简单。如果更改URL中的查询参数,您将获得高质量的图像,例如:https://lh3.googleusercontent.co/a/ALm5wu1o3Bl7PnfBQnEPcJuTj2v9FDcqaiCouOVPaO-3=s96-sn-c
从URL的最后一个移除=s96-sn-c,您将获得良好的分辨率图像。
所以帕拉姆斯是:
查看文档以获得更多信息
https://stackoverflow.com/questions/36956326
复制相似问题