我可以第一次登录.我有一个选项,用户可以在Android应用程序中禁用Facebook.选择此项后,facebook状态将变为CLOSED.当我再次使用该选项时,要在API中重新登录,请在回调函数中的OPENING处挂起.
根据我发现第一次调用的例子
session.openForRead(new Session.OpenRequest(activity).setCallback(statusCallback));
Run Code Online (Sandbox Code Playgroud)
第二个用途
Session.openActiveSession(activity, true, statusCallback);
Run Code Online (Sandbox Code Playgroud)
回调函数如下所示:
private static class SessionStatusCallback implements Session.StatusCallback {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
GlobalVars.setUser(user.getName());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(GlobalVars.getContext());
Editor editor = prefs.edit();
editor.putBoolean("facebook", true);
editor.commit();
System.out.println("facebook logged in");
}
}
});
}
System.out.println("facebook session state callback " + session.getState().toString());
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定我们是否有确切的问题,但是我的facebook的会话状态在之后保留了"OPENING" Session.openActiveSession(activity, true, statusCallback);.我已经覆盖了onActivityResult()我的片段内部.我为解决这个问题所做的是改写我的Activity上的方法.
相关回答:https://stackoverflow.com/a/13888652/782870
| 归档时间: |
|
| 查看次数: |
2670 次 |
| 最近记录: |