0

ステータスを更新するための私のコードは次のとおりです。

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)で試しましたが、同じ結果が得られました。私は何をすべきか?

4

1 に答える 1

0

を使用して初めてセッションを作成するときにセッションを保存します

SessionStore.save(mFacebook, getBaseContext());

また、同じユーザーがポスト操作を実行したときにセッションを復元します

SessionStore.restore(mFacebook, getBaseContext());

オブジェクト参照はどこmFacebookですかFacebook

于 2013-02-03T07:57:49.203 に答える