2013-02-03 25 views
0

的时候,这里是我的更新状态代码: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中,它显示会话是开放的,accesstoken很好,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),但得到相同的结果。我该怎么办?

+0

你会在代码中的任何地方关闭会话吗? newMeRequest是异步执行的,因此会话可能在其他地方关闭。如果没有,请发布更完整的代码,这个示例不足以显示问题。 –

+0

是的,我已经关闭了会议。但在关闭会话之前,我已将文件中的打开会话保存起来,然后我尝试使用已保存的会话设置活动会话。如果我的过程是错误的,是否有其他选项发送请求与我保存的会话? @MingLi – Shoshi

+1

不要保存会话,也不要重复使用封闭会话,只需创建一个新会话。创建起来很便宜,如果用户已经授权应用程序(您可以检查,因为会话将处于CREATED_TOKEN_LOADED状态),那么您可以在没有任何用户交互的情况下打开它。 –

回答

0

保存会话,当您使用

SessionStore.save(mFacebook, getBaseContext()); 

创建它的第一次,当同一用户进行岗位操作

SessionStore.restore(mFacebook, getBaseContext()); 

也恢复了会议,其中mFacebook是您Facebook对象引用

+0

有很多会议我必须处理。所以我不能只存储一个会话。并且我无法在Facebook sdk 3.02中找到任何'SessionStore类',如果我错过了某些东西,你能否帮助我? @TechKida – Shoshi

+0

试试这个洛伦兹的教程http://www.londatiga.net/it/how-to-use-facebook-sdk-to-post-status-from-android/它帮了我很多 –