Android Facebook SDK 4.5.0登录注销问题无效密钥哈希错误,同时尝试再次登录

env*_*ver 5 android facebook login

我按照https://developers.facebook.com/docs/facebook-login/android开发人员指南中的说明实现了Facebook登录按钮,其中包含个人资料和电子邮件阅读权限.

当我按下登录按钮时,Facebook应用程序打开然后我可以登录并可以从Facebook获取用户数据.在此之后,Facebook按钮会自动转为退出按钮.当它被按下时,它会退出.到目前为止,它运作良好.

一旦Facebook在我的应用程序端注销,并想要使用Facebook按钮重新登录,Facebook就会因密钥哈希错误而失败.如果我在Facebook应用程序中转到帐户设置,并从列表中删除我的应用程序,则重新登录将返回成功.

我也试过Android Facebook应用程序注销问题的解决方案,但它也没有用.要清除,我使用此代码(在AccessTokenCache类中找到共享的pref名称):

   SharedPreferences fbSharedPreferences = this.getSharedPreferences("com.facebook.AccessTokenManager.SharedPreferences", 0);
   if (fbSharedPreferences != null) {
       fbSharedPreferences.edit().clear().commit();
   }
Run Code Online (Sandbox Code Playgroud)

我正在使用Facebook SDK 4.5.我正在使用真实的Facebook帐户进行测试.我的应用程序键和哈希值在Facebook应用程序设置中设置.

PS问题标题受到Facebook登录 - 注销问题无效密钥哈希错误,同时尝试再次登录(没有解决方案).

Abh*_*dar 3

我遇到了同样的问题,您需要从 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();
}
Run Code Online (Sandbox Code Playgroud)