我在 android 中使用 Fragments 并将 facebook 登录与其集成,以获取用户详细信息。
public void postOnfacebook() {
Session.openActiveSession(getActivity(), this, true,
new StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
Request.executeMeRequestAsync(session,
new GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user != null) {
id = user.getId();
name = user.getName();
gender = user
.getProperty("gender") == null ? "male"
: user.getProperty(
"gender")
.toString();
}
}
});
}
}
});
}
fragment
根据文档,我还包含以下方法
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(getActivity(), requestCode,
resultCode, data);
}
我在 中尝试过相同的代码Activity
,它在那里工作,但在Fragment
. 根据文档,我已经包含LoginActivity
在里面AndroidManifest.xml
和metadate
for中。facebookapplicationId
你能建议我在哪里出错,以防万一Fragment
。