簡體   English   中英

Android Facebook:在一個活動中登錄並在另一個活動中注銷

[英]Android Facebook: Login in One activity and Logout in another activity

從我的應用程序,我正在嘗試訪問Facebook。 要求就像在兩個活動中一樣,我可以登錄到Facebook,而從一個活動中我可以注銷。 考慮活動A和B,我可以同時從活動A和B登錄到Facebook,並且只能在從活動B注銷后才能從活動B注銷,如果我嘗試從活動A訪問Facebook,則應該要求登錄。 現在它不要求登錄,直接顯示App身份驗證頁面 在此處輸入圖片說明

它沒有正確注銷。 這是我的代碼。

protected Handler mHandler = new Handler();
private final class FBLogoutListener implements RequestListener {
    @Override
    public void onComplete(String arg0, Object arg1) {
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                Log.w(TAG,"onComplete:");
                FacebookUtility.clear();
            }
        });
    }
    @Override
    public void onFacebookError(FacebookError arg0, Object arg1) {}
    @Override
    public void onFileNotFoundException(FileNotFoundException arg0,
            Object arg1) {}
    @Override
    public void onIOException(IOException arg0, Object arg1) {}

    @Override
    public void onMalformedURLException(MalformedURLException arg0,
            Object arg1) {}
}

AsyncFacebookRunner facebookRunner = new AsyncFacebookRunner(FacebookUtility.mFB);
FBLogoutListener logoutListener = new FBLogoutListener();
facebookRunner.logout(this,logoutListener);

我正在犯錯的任何解決方案。

如果您使用登錄管理器類登錄,那么這一行代碼就足夠了。

// Facebook logout
            LoginManager.getInstance().logOut();

這對我有用。

FB注銷另一個活動:

// fb注銷

    Session session = Session.getActiveSession();
                                if (session != null) {
                                    if (!session.isClosed()) {
                                        session.closeAndClearTokenInformation();
                                    }
                                } else {
                                    session = new Session(MainActivity.this);
                                    Session.setActiveSession(session);
                                    session.closeAndClearTokenInformation();
                                }

                                preferenceHelper.onLogOut();
                                finish();
                                startActivity(new Intent(MainActivity.this,
                                        LoginActivity.class));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM