2015-04-12 38 views
6

我正在使用this guide設置Facebook登錄爲Android。我的應用程序配置了keyhashes等。但是,當我點擊我的應用程序中的facebook按鈕登錄時,沒有任何回調運行,也沒有記錄堆棧跟蹤。Facebook登錄按鈕未點擊時運行回調

FacebookSdk.sdkInitialize(getApplicationContext()); 
    mCallbackManager = CallbackManager.Factory.create(); 
    mFacebookLoginButton = (LoginButton)findViewById(R.id.login_button); 
    mFacebookLoginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      Log.e("Login Success", loginResult.getAccessToken().getToken()); 
      Log.e("Login Success", "hello"); 
     } 

     @Override 
     public void onCancel() { 
      Log.e("Login Canceled", "Canceled Facebook Login"); 
     } 

     @Override 
     public void onError(FacebookException exception) { 
      Log.e("Login Error", exception.getMessage()); 
     } 
    }); 

我希望單擊按鈕時記錄SOMETHING。但沒有hapen除了正常logcat的東西,比如:

04-12 13:13:21.759 4813-4813/com.example.myapp I/ActivityManager﹕ Timeline: Activity_idle id: [email protected] time:4181940 
04-12 13:13:22.629 4813-4813/com.example.myapp I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_DOWN 
04-12 13:13:22.699 4813-4813/com.example.myapp I/ViewRootImpl﹕ ViewRoot's Touch Event : ACTION_UP 
04-12 13:13:22.719 4813-4813/com.example.myapp I/ActivityManager﹕ Timeline: Activity_launch_request com.example.myapp time:4182907 
04-12 13:13:22.829 4813-4813/com.example.myapp I/ActivityManager﹕ Timeline: Activity_idle id: [email protected] time:4183019 
04-12 13:13:23.329 4813-4813/com.example.myapp I/ActivityManager﹕ Timeline: Activity_idle id: [email protected] time:4183519 

任何想法,爲什麼沒有任何回調的運行?

+0

你怎麼像電子郵件和性別Facebook的數據?你能幫我嗎?http://stackoverflow.com/questions/40078479/cannot-get-values-from-graphrequest-facebook謝謝。 – natsumiyu

回答

27

愚蠢的錯誤,我缺少的onActivityResult方法:

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