我按照 https://developers.facebook.com/docs/facebook-login/android 中的描述实现了 Facebook 登录按钮。具有配置文件和电子邮件读取权限的开发人员指南。
当我按下登录按钮时,Facebook 应用程序打开,然后我可以登录并可以从 Facebook 获取用户数据。此后,Facebook 按钮自动变为注销按钮。当它被按下时,它会注销。到目前为止,它运作良好。
在我的应用程序端完成 Facebook 注销后,想要使用 Facebook 按钮重新登录,Facebook 因 key 散列错误而失败。如果我转到 Facebook 应用程序中的帐户设置,并从列表中删除我的应用程序,然后重新登录返回成功。
我也试过这里的解决方案Android Facebook app logout issue但它也没有用。 为清楚起见,我使用此代码(在 AccessTokenCache 类中找到共享首选项名称):
SharedPreferences fbSharedPreferences = this.getSharedPreferences("com.facebook.AccessTokenManager.SharedPreferences", 0);
if (fbSharedPreferences != null) {
fbSharedPreferences.edit().clear().commit();
}
我使用的是 Facebook SDK 4.5。我正在使用真实的 Facebook 帐户进行测试。我的应用 key 和哈希是在 Facebook 应用设置中设置的。
附言问题标题受 Facebook Login-Logout Issue Invalid Key Hash Error, While Trying to Login Again 影响(没有解决方案)。
最佳答案
我遇到了同样的问题,您需要从 facebook 应用程序中删除应用程序,然后注销。以下功能将起到作用。
public void disconnectFromFacebook() {
if (AccessToken.getCurrentAccessToken() == null) {
return; // already logged out
}
new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
LoginManager.getInstance().logOut();
}
}).executeAsync();
}
关于Android Facebook SDK 4.5.0 登录-注销问题无效 key 哈希错误,同时尝试再次登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023499/