我開發Android遊戲擁有Facebook登錄和我面對試圖註銷時,以下怪異的行爲:
如果用戶按下Facebook的註銷按鈕,關閉該應用程序然後再次重新打開,用戶仍然登錄(=訪問令牌仍然有效)。 作爲測試,我在註銷後檢查了訪問令牌,它應該是空的,但是如果我關閉並重新打開該應用,那麼訪問令牌再次不爲空。
看起來,即使在註銷之後,Facebook緩存訪問令牌並將其從緩存中取出。
我嘗試使用本地Facebook按鈕,並LoginManager.getInstance.logout();我已經在onCreate的頂部初始化Facebook sdk,在setContent()之前,我遵循Facebook文檔上的過程,但結果相同。
我使用的是Facebook sdk 4.6.0,我在Android 4.2.2和4.4.2上遇到了這個問題。
編輯
下面的代碼:
- Facebook的按鈕:
Facebook的註銷不起作用的Android [Facebook的SDK 4]
@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();
}
});
任何sugg estion?
預先感謝
包括你的代碼,這樣我們可以幫忙嗎? – Shawn
對,對不起。我在編輯中添加了代碼。謝謝 –
任何人都可以幫忙嗎? –