2015-04-12 95 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); 
}