android facebook登录按钮不工作

android facebook登录按钮不工作,facebook,facebook-login,facebook-android-sdk,Facebook,Facebook Login,Facebook Android Sdk,我将按照本教程“Android的Facebook登录流”(FacebookLoginFlow for Android)创建一个只包含一个Facebook登录按钮的简单应用程序来测试Facebook登录 然而,我用这个按钮登录facebook时遇到了麻烦。。。。我一直在遵循本教程中的每一个步骤,并仔细检查了所有内容——与本教程中的内容完全相同。我看到其他有类似问题的人总是因为错误的调试哈希代码。但是我已经检查了一百万次,我得到了正确的调试哈希代码。有些人说,如果你想发布一个应用程序,你需要一个发布

我将按照本教程“Android的Facebook登录流”(FacebookLoginFlow for Android)创建一个只包含一个Facebook登录按钮的简单应用程序来测试Facebook登录

然而,我用这个按钮登录facebook时遇到了麻烦。。。。我一直在遵循本教程中的每一个步骤,并仔细检查了所有内容——与本教程中的内容完全相同。我看到其他有类似问题的人总是因为错误的调试哈希代码。但是我已经检查了一百万次,我得到了正确的调试哈希代码。有些人说,如果你想发布一个应用程序,你需要一个发布代码。然而,我并没有发布我的应用程序——我只是在安卓设备上测试它,所以我想我真的不需要发布代码来实现这一点吗

此外,我还检查了我是否已将此应用程序的facebook应用程序id包含在Android清单中。所以基本上,我所做的一切都是严格遵循Facebook开发者的教程

我看到一些人建议在JDK 6中使用“keytool”来代替JDK 7。我已经检查过,我确实使用JDK6中的“keytool”生成了调试哈希代码

所以我尝试了所有的方法,但问题仍然存在

在那个Android教程中,它建议将此代码放入您的代码中,以便您可以监视您的LogCat,查看您当前的状态是登录还是注销:

private void onSessionStateChange(Session session, SessionState state, Exception exception) {
    if (state.isOpened()) {
        Log.i(TAG, "Logged in...");
    } else if (state.isClosed()) {
        Log.i(TAG, "Logged out...");
    }
}
在我的情况下,无论我点击Facebook登录按钮多少次,我总是在我的日志中看到“注销…”

另外,有趣的是,我甚至不能使用facebook Android SDK 3.0.1附带的示例应用程序登录facebook(例如SessonLoginSample)!!!!!当我在这些示例应用中单击“登录”按钮时,什么也没有发生——这意味着我没有成功登录


我真的希望你们能帮我解决这个问题。奇怪的是,我没有看到其他人有完全相同的问题(正如我所说,那些有类似问题的人总是因为错误的调试代码,但我检查了我的,它是100%正确的)。非常感谢你

这件事曾经发生在我身上。您可能已经在facebook开发者设置中添加了导出密钥哈希。 将这些行添加到代码中以获取调试密钥哈希,然后添加到facebook

    for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }

谢谢你,我很高兴。但是我已经添加了这些行,并且我已经检查了100次我的密钥散列是否正确(LogCat中显示的密钥散列与我在facebook开发者设置中的密钥散列相同。你知道为什么我仍然无法登录facebook吗?谢谢!事实上,我刚刚意识到我必须先卸载设备上的facebook应用程序,然后我的应用程序中的facebook登录按钮才能工作!清除facebook应用程序的数据和缓存是非常必要的。)没有帮助--我的应用程序中的登录按钮仍然不起作用。你知道这个问题的任何解决方案吗?因为我不能期望用户在使用我的应用程序之前在他们的android设备上卸载facebook应用程序…我正在为我的应用程序进行fb集成。它工作正常。你所需要的只是appId。清单中的以下代码-在开发人员配置文件中调试和导出密钥散列,在应用程序设置中导出密钥散列。我认为您的问题在于您输入的密钥散列。很抱歉,无需在开发人员配置文件中输入。仅输入在应用程序设置中运行代码后获得的密钥散列