2014-05-07 122 views
3

這種方法來檢索照片的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_102015 06903424508_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; 

} 

回答

4

試試這個:

img_value.openConnection().setInstanceFollowRedirects(true).getInputStream() 
6

試試這個:

public static Bitmap getFacebookProfilePicture(String userID){ 
    URL imageURL = new URL("https://graph.facebook.com/" + userID + "/picture?type=large"); 
    Bitmap bitmap = BitmapFactory.decodeStream(imageUrl.openConnection().getInputStream()); 

    return bitmap; 
} 

Bitmap bitmap = getFacebookProfilePicture(userId); 

確保您使用的HTTPS,而不是HTTP

相關問題