所以我有一个简单的登录按钮,可以在我的 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
最佳答案
糟糕!忘记了我的 Activity 结果!
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
成功了。
关于返回空 GraphUser 的 Android Facebook SDK v3.0 SSO LoginButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13274165/