2015-09-28 96 views
1

我在我的android應用程序第一次整合Facebook sdk ...我有我的Facebook資料圖片到我的應用程序的一些問題。Android不採摘Facebook顯示圖片

這裏的onSuccess回調方法:

public void onSuccess(LoginResult loginResult) { 
      Profile profile = Profile.getCurrentProfile(); 
      if(profile != null) { 
       Log.v("Logged In Message", profile.getName()); 
       imageView.setImageURI(profile.getProfilePictureUri(50, 50)); 
      } 
     } 

的問題是,我得到正確的名稱,但沒有空間圖片...

任何幫助,將不勝感激

+0

http://stackoverflow.com/questions/16372593/how-to-get-facebook-用戶在facebook-sdk-3-0-android中的profile-picture –

回答

1

你不需要擁有個人資料圖片。你可以得到用戶的個人資料圖片通過它的唯一ID的呼叫UID等作爲後續

http://graph.facebook.com/451985168296158/picture?width=150&height=150 
+0

我得到這個錯誤 無法解碼流:java.io.FileNotFoundException:/http:/graph.facebook.com/1503273343323126/picture ?寬度= 150&高度= 150:打開失敗:ENOENT(沒有這樣的文件或目錄) –

+0

您可以下載圖像到位圖。http://stackoverflow.com/questions/8992964/android-load-from-url-to-bitmap –

1

代碼示例

loginManager.logInWithReadPermissions(SocialPluginMainActivity.this, permissionNeeds); 
     loginManager.registerCallback(fbCallbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 
       GraphRequest request = GraphRequest.newMeRequest(
         loginResult.getAccessToken(), 
         new GraphRequest.GraphJSONObjectCallback() { 
          @Override 
          public void onCompleted(
            JSONObject object, 
            GraphResponse response) { 
           // Application code 
           Log.v("LoginActivity", response.toString()); 
           try { 
            fbUserId = object.getString("id"); 
            fbUserName = object.getString("name"); 
            fbEmail = object.getString("email"); 
            fbGender = object.getString("gender"); 
            fbDob = object.getString("birthday"); 
           } catch (JSONException e) { 
            e.printStackTrace(); 
           } 
           Glide.with(SocialPluginMainActivity.this).load("http://graph.facebook.com/" +fbUserId +"/picture?type=large").into(profilePicImgView); 
          } 
         }); 
       Bundle parameters = new Bundle(); 
       parameters.putString("fields", "id,name,email,gender,birthday"); 
       request.setParameters(parameters); 
       request.executeAsync(); 
      } 

      @Override 
      public void onCancel() { 

      } 

      @Override 
      public void onError(FacebookException e) { 

      } 
     });