尝试发布状态时,Facebook会话将关闭

时间:2013-02-03 07:17:43

标签: android facebook

这是我更新状态的代码:

new Session(context);
Session.setActiveSession(session);
Session.openActiveSession(context);
Log.e("session after setted",Session.getActiveSession().toString());

Request request = Request.newMeRequest(Session.getActiveSession(), new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
    // If the response is successful
       if (Session.getActiveSession().isOpened()) {
            if (user != null) {
                session = Session.getActiveSession();
            postFromAlarm();
                Log.e("user","not null");
            }else{
            postFromAlarm();
            Log.e("user","null");
        }
        }  else{
        postFromAlarm();
        Log.e("not open session",Session.getActiveSession().toString());
        Log.e("session","not open");
        }
     }   
}); 
Log.e("request session",request.getSession().toString());
Request.executeBatchAsync(request);

Log.e("session after setted",Session.getActiveSession().toString()); 正在展示一个良好而健康的会话,可用于发布。因为在logcat中,它显示会话已打开,accessstoken是好的,app_id也很好。

但在我尝试发布时使用此会话,在onComplete()方法中执行以下行:

Log.e("not open session",Session.getActiveSession().toString()); Log.e("session","not open");

它显示:

{Session state:CLOSED, token:null, appId:***************** }

有什么不对?我试过没有new Session(context),但得到了相同的结果。我该怎么办?

1 个答案:

答案 0 :(得分:0)

使用

首次创建会话时保存会话
SessionStore.save(mFacebook, getBaseContext());

并在同一用户执行后期操作时恢复会话

SessionStore.restore(mFacebook, getBaseContext());

其中mFacebook是您的Facebook对象引用