这种方法已经无法再获取Facebook个人资料照片了。
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);
mIcon1为空
之前它正常工作,但现在不行了,我认为是Facebook改变了某些东西。当我检查重定向到另一个URL的URL时:
http://graph.facebook.com/"id example(2154847)"/picture?type=large ---> https:// fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t1.0- 1/s200x200/1480603_10201506903424508_71775 13962104534241_n.jpg
编辑 解决方案:
public Bitmap getPhotoFacebook(final String id) {
Bitmap bitmap=null;
final String nomimg = "https://graph.facebook.com/"+id+"/picture?type=large";
URL imageURL = null;
try {
imageURL = new URL(nomimg);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
HttpURLConnection connection = (HttpURLConnection) imageURL.openConnection();
connection.setDoInput(true);
connection.setInstanceFollowRedirects( true );
connection.connect();
InputStream inputStream = connection.getInputStream();
//img_value.openConnection().setInstanceFollowRedirects(true).getInputStream()
bitmap = BitmapFactory.decodeStream(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}