Android 安卓&;Facebook SDK:解码来自/me/picture-graph调用的图片
编辑:本帖末尾的Anwser 由于内置Facebook SDK的函数Android 安卓&;Facebook SDK:解码来自/me/picture-graph调用的图片,android,json,facebook,facebook-graph-api,facebook-android-sdk,Android,Json,Facebook,Facebook Graph Api,Facebook Android Sdk,编辑:本帖末尾的Anwser 由于内置Facebook SDK的函数Request(),我正在尝试获取Facebook用户的个人资料图片 我正在使用/me/picture调用获取配置文件图片并将其转换为位图 通话正常,但我不知道如何解释和解析从Facebook返回的结果 下面是我得到的JSONJSON: { “FACEBOOK非JSON搜索结果”:����\u0000\u0010JFIF\u0000\u0001\u0002\u0000\u0000\u0001\u0000\u0001\u0000\
Request()
,我正在尝试获取Facebook用户的个人资料图片
我正在使用/me/picture
调用获取配置文件图片并将其转换为位图
通话正常,但我不知道如何解释和解析从Facebook返回的结果
下面是我得到的JSONJSON
:
{
“FACEBOOK非JSON搜索结果”:����\u0000\u0010JFIF\u0000\u0001\u0002\u0000\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0000��\u0000\u0004*\u0000��\u0000C\u0000\u0006\u0004\u0005\u0006\u0005\u0004\u0006\u0006\u0005\u0006\u0007\u0006\b“
}
我认为这应该代表个人资料图片,但我不知道现在该怎么办
如果有人能告诉我如何解码、将其转换成位图或它是什么样的数据,我将不胜感激
注意:我不想使用Request()以外的任何其他函数,如DecodeStream()或AsyncTask
答案如下: 创建新的
请求()
时,需要将“重定向”参数添加到false
:
Bundle params = new Bundle();
params.putBoolean("redirect", false);
这将返回正确的图片URL:
{
"data":{
"is_silhouette":false,
"url":"https:\/\/fbcdn-profile-a.akamaihd.net\/hprofile-ak-xpa1\/v\/t1.0-1\/p100x100\/10312434_10152395442477210_2933994167675146084_n.jpg?oh=f3c8cb920c97fcfa4dc5e17462445cbf&oe=54404A3A&__gda__=1412730795_5f288e34e5f6e63cb1c3791dcb142880"
}
}
试试这个:
ImageView user_picture;
userpicture=(ImageView)findViewById(R.id.userpicture);
URL img_value = null;
img_value = new URL("http://graph.facebook.com/"+id+"/picture?type=large");
Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
userpicture.setImageBitmap(mIcon1);
其中ID是您的个人资料ID之一
有关更多详细信息,请查看:
试试这个,也许对你有帮助:请看下面我的答案。你只需要把你的网址放在代码里谢谢sAyVII。在这里工作很好。谢谢我在那里使用字符串,而不是浪费3个小时。这个答案让我朝着正确的方向前进,谢谢!使用GraphApi回调-对于url,这是对我有效的:
String picUrlString=(String)response.getJSONObject().getJSONObject(“数据”).get(“url”)代码>。从本帖: