簡體   English   中英

Facebook退出無法運行Android [Facebook sdk 4]

[英]Facebook logout does not work Android [Facebook sdk 4]


我正在開發一款具有Facebook登錄功能的Android游戲,在嘗試注銷時遇到了以下奇怪的行為:
如果用戶按下Facebook注銷按鈕,關閉應用程序然后再次重新打開,則用戶仍然登錄(=訪問令牌仍然有效)。 作為測試,我在注銷后檢查了訪問令牌,它應該是null,但如果我關閉並重新打開應用程序,那么訪問令牌也不會為空。
似乎Facebook緩存訪問令牌,即使在注銷后也從緩存中獲取。

我嘗試使用本機Facebook按鈕和LoginManager.getInstance.logout(); 我已經在onCreate的頂部初始化了Facebook sdk,然后在setContent()之前,我按照Facebook文檔上的程序,但結果相同。

我正在使用Facebook sdk 4.6.0,我在Android 4.2.2和4.4.2上遇到了這個問題。

編輯

這是代碼:

- Facebook按鈕:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.activity_settings);
    btnFacebookLogout.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {

        }

        @Override
        public void onCancel() {
        }

        @Override
        public void onError(FacebookException e) {

        }
    });
}



- 普通按鈕:

btnNormalLogout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            LoginManager.getInstance().logOut();
        }
    });

有什么建議嗎?

提前致謝

好吧,我已經和那個該死的sdk打了大約一個小時,並發現了一個簡單的解決方案來解決這個問題。

只需嘗試執行以下操作:LoginManager.getInstance()。setLoginBehavior(LoginBehavior.WEB_ONLY)

優點:LoginManager.getInstance()。logOut()在這種情況下工作正常。

缺點:身份驗證將始終顯示在Webview對話框中。

暫無
暫無

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

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