android facebook登录按钮不起作用

时间:2013-07-04 08:33:29

标签: facebook facebook-login facebook-android-sdk

我正在按照本教程“Android Facebook登录流程”(https://developers.facebook.com/docs/howtos/androidsdk/3.0/login-with-facebook/)创建一个只包含一个Facebook登录按钮的简单应用来测试Facebook登录。

但是,我一直无法使用此按钮登录Facebook ....我一直在关注本教程中的每一步,我已经仔细检查过所有内容 - 它与本教程完全相同。我看到其他有类似问题的人总是因为调试哈希码不正确。但我已经检查了一百万次,我得到了正确的调试哈希码。有人说,如果你想发布一个应用程序,你需要一个发布代码。但是,我没有发布我的应用程序 - 我只是在Android设备上测试它,所以我想我真的不需要发布代码来做到这一点?

另外,我已经检查过我在Android Manifest中为此应用程序添加了我的facebook应用程序ID。基本上,我所做的每件事都严格遵循Facebook开发者的教程。

我见过有人建议在JDK 6中使用“keytool”而不是JDK 7.我已经检查过我确实在JDK 6中使用“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登录按钮,我总是在我的LogCat中“登出...”。

另外,有趣的是,我甚至无法使用Facebook Android SDK 3.0.1附带的示例应用程序登录Facebook(例如SessonLoginSample)!!!!!当我单击这些示例应用程序中的登录按钮时,没有任何反应 - 这意味着我没有成功登录。

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

1 个答案:

答案 0 :(得分:1)

这件事发生在我身上。您可能在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));
    }
相关问题