Android Facebook SDK v3.0 SSO LoginButton返回null GraphUser

5

我有一个简单的登录按钮,在我的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用户为空。
我的appID是正确的,我的android哈希值是他们给我的调试版本(在样本应用程序上测试过,运行良好),登录屏幕确实弹出……不太确定接下来该怎么做。
另外,如果我按两次按钮,就会出现错误:
an attempt was made to open a session that has a pending request

代码看起来不错,当我使用你的代码时,我可以获取GraphUser信息。HelloFacebookSample对你是否有效,也就是说,你能看到已登录用户的信息吗? - C Abernathy
1个回答

6

糟糕!我忘记了我的活动结果!

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

那就搞定了。

当你重写一个方法并且只调用基本方法时,会有什么区别呢? - Ε Г И І И О
在这种情况下,super是Facebook的onActivityResult,而不是你自己的。 - Vic Vuci
@Vee 它怎么知道这是 Facebook 还是 Fragment? - offset

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接