我开发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
对,对不起。我在编辑中添加了代码。谢谢 –
任何人都可以帮忙吗? –