2015-08-27 121 views
1

我使用FB SDK 4.5.1版與eclipse登錄到Facebook。有時它會成功登錄,但有些時候會出現此錯誤消息「CONNECTION FAILURE」。這是我的互聯網連接或代碼問題嗎?FB SDK(4.5.1)登錄:連接失敗

這裏是我的代碼:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    Log.d(TAG,"Fb initialzed"); 
    callbackManager = CallbackManager.Factory.create(); 

    //LoginButton loginButton= (LoginButton)findViewById(R.id.fb_login_button); 


LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 

     @Override 
     public void onSuccess(LoginResult result) { 
      // TODO Auto-generated method stub 


      Log.d(TAG,"Login success"); 
      Intent I = new Intent(getApplicationContext(), Games.class); 
      startActivity(I); 
     } 

      private void showAlert() { 
       new AlertDialog.Builder(GameSurvey.this) 
         .setTitle(R.string.cancelled) 
         .setMessage(R.string.permission_not_granted) 
         .setPositiveButton(R.string.ok, null) 
         .show(); 
      } 
     @Override 
     public void onCancel() { 
      // TODO Auto-generated method stub 
      Log.d(TAG,"Login cancelled"); 
     } 

     @Override 
     public void onError(FacebookException error) { 
      // TODO Auto-generated method stub 
      if(error instanceof FacebookAuthorizationException) 
       Log.d(TAG,error.toString()); 
       showAlert(); 

     } 
    }); 
    Log.d(TAG, "here"); 


    setContentView(R.layout.activity_game_survey); 

    profileTracker = new ProfileTracker() { 
     @Override 
     protected void onCurrentProfileChanged(Profile oldProfile, Profile currentProfile) { 
      updateUI(); 
      // It's possible that we were waiting for Profile to be populated in order to 
      // post a status update. 

     } 
    }; 
    profilePictureView = (ProfilePictureView) findViewById(R.id.profilePicture); 





} 
+1

你在'onError'回調中得到了這個嗎?如果是這樣,那麼這很可能是一個連接問題。 – ifaour

+0

@ifaour是的,您可以發表您的評論作爲答案,以便我可以接受它。 – Alaa

回答

0

如果你在錯誤處理程序回調得到的錯誤,那麼你需要應對它(也許顯示一個通知用戶,並要求再次嘗試)。

CONNECTION FAILURE錯誤不言自明。如果您可以找到特定的模式,並且您可以在不同的網絡客戶端(例如網絡)上一致地重新制作此代碼,則這可能是一個錯誤。否則,這不太可能是一個錯誤。