アプリケーションにログインするために Facebook SDK 3.0 を使用しています。ログインは正常に機能しています。アプリケーションをログアウトすると、それは起こりません。
私のログアウトコード:
Facebook mFb=new Facebook("xxxxxxxx");
mFb.logout(this);
これを行うためのアイデアをください。
アプリケーションにログインするために Facebook SDK 3.0 を使用しています。ログインは正常に機能しています。アプリケーションをログアウトすると、それは起こりません。
私のログアウトコード:
Facebook mFb=new Facebook("xxxxxxxx");
mFb.logout(this);
これを行うためのアイデアをください。
これを試して:
if( mFb.isSessionValid() ) {                                  
    mFb.logout(getApplicationContext());
    SessionStore.clear(getApplicationContext());
}
答え: 正常に動作しています
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(final Session session, final SessionState state, Exception exception){
    // TODO Auto-generated method stub
    if(session.isOpened()){
        Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
            @Override
            public void onCompleted(GraphUser user, Response response) {
            // TODO Auto-generated method stub
                if(user!=null){
                    try{
                        session.close();
                        session.closeAndClearTokenInformation();
                        //state.isClosed();
                    }catch (Exception e) {
                        Log.e(tag, "getUserIdMethod--->"+e);
                    }
                }
            }
        });                 
    }
}});
Facebook で使用する場合:
LoginManager.getInstance().logOut();
ログアウトします。
別のスレッドでそれを呼び出そうとしましたか:
public void logout()
    {
        new Thread(){
            public void run() {
                try {
                    mFacebook.logout(your_current_class_name.this);
                } catch (MalformedURLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            };
            }.start();
    }