2012-11-07 22 views
5

所以我有一個簡單的登錄按鈕,這是否在我的OnCreate:的Android SDK的Facebook 3.0 SSO LoginButton返回一個空GraphUser

mLoginButton = (LoginButton)findViewById(R.id.connect_facebook_button); 
    mLoginButton.setApplicationId(.getResources().getString(R.string.app_id)); 
    mLoginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() { 
     public void onUserInfoFetched(GraphUser user) { 
      setUser(user); // Just sets mUser to be this user 
      try { 
      Toast.makeText(this, mUser.getFirstName(), Toast.LENGTH_SHORT).show(); 
      } catch (Exception FacebookException) { 
       FacebookException.printStackTrace(); 
      } 


     } 
    }); 

所有這一切都被成功調用,包括onUserInfoFetched。

的問題是,在每種情況下,我Graphuser用戶爲空。

我的appid是正確的,我的Android散列調試一個,他們給我(在示例應用程序測試工作得很好),登錄屏幕不實際彈出...不是真的知道在哪裏可以從這裏走。

而且,如果我打的按鈕兩次,我得到一個錯誤:

an attempt was made to open a session that has a pending request 
+0

的代碼看起來不錯,當我用你的代碼,我可以得到GraphUser信息。 HelloFacebookSample是否適合您,您可以看到登錄用戶的信息? –

回答

6

哎呦!忘記我的活動結果!

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
} 

這樣做。

+0

當你重寫一個方法並只調用基方法時,它會產生什麼不同? –

+0

在這種情況下超級是Facebook的onActivityResult,而不是你自己的。 – VicVu

+0

@Vee它如何知道這是Facebook還是片段? – offset

相關問題