我按照https://developers.facebook.com/docs/facebook-login/android开发人员指南中的说明实施了Facebook登录按钮,其中包含个人资料和电子邮件阅读权限。
当我按下登录按钮时,Facebook应用程序打开,然后我可以登录并可以从Facebook获取用户数据。在此之后,Facebook按钮会自动转为退出按钮。当它被按下时,它会退出。到目前为止,它运作良好。
一旦Facebook在我的应用程序端注销,并想要使用Facebook按钮重新登录,Facebook就会因密钥哈希错误而失败。如果我在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帐户进行测试。我的应用密钥和哈希值在Facebook应用设置中设置。
P.S。问题标题受Facebook Login-Logout Issue Invalid Key Hash Error, While Trying to Login Again影响(没有解决方案)。
答案 0 :(得分:2)
我遇到了同样的问题,你需要从Facebook应用程序中删除应用程序然后注销。以下功能将起到作用。
Key