所以我有一个简单的登录按钮,可以在我的oncreate中执行此操作:

 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用户都为null。

我的appID是正确的,我的Android哈希是他们给我的调试代码(在示例应用程序上测试正常),登录屏幕确实弹出了……不确定从这里开始。

另外,如果我按了两次按钮,我会得到一个错误:
an attempt was made to open a session that has a pending request

最佳答案

哎呀!忘记我的 Activity 结果!

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

做到了。

10-05 23:38