Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java facebook会话未打开_Java_Android_Facebook - Fatal编程技术网

Java facebook会话未打开

Java facebook会话未打开,java,android,facebook,Java,Android,Facebook,我正在尝试将适用于android的facebook sdk 3.0添加到我的应用程序中 我正在尝试使用该功能登录 OpenSessionWithAllowLoginUI(布尔allowLoginUI) 当会话状态更改功能时 SessionStateChanged(会话、状态、异常) 被称为。下面给出了这些函数 public void OpenSessionWithAllowLoginUI(boolean allowLoginUI) { Session.openActiveSe

我正在尝试将适用于android的facebook sdk 3.0添加到我的应用程序中

我正在尝试使用该功能登录

OpenSessionWithAllowLoginUI(布尔allowLoginUI)

当会话状态更改功能时

SessionStateChanged(会话、状态、异常)

被称为。下面给出了这些函数

 public void OpenSessionWithAllowLoginUI(boolean allowLoginUI)
    {

    Session.openActiveSession(this, true, new Session.StatusCallback()
    {
           @Override
           public void call(Session session, SessionState state, Exception exception)
           {
               SessionStateChanged(session, state, exception);
           }
    })
}

public void SessionStateChanged(Session session, SessionState state, Exception exception)
{
    switch (state)
    {
        case OPENED:
              if (exception == null)
              {
                  facebook = new Facebook("6346513133546");
              }

            break;

        case CLOSED:
        case CLOSED_LOGIN_FAILED:
            Session.getActiveSession().closeAndClearTokenInformation();
            facebook = null;
            break;

        default:
            break;
    }
}
调用函数时,会话状态更改两次。首先,它将会话状态显示为“打开”,然后在登录并单击“确定”进入权限弹出窗口后,会话状态变为“关闭\登录\失败”。会话状态从未“打开”,我得到以下异常

远程应用程序id与存储的id不匹配


任何人都可以告诉我我做错了什么。

你可以验证你的Android应用程序上的应用程序id与你的应用程序仪表板上的应用程序id完全相同吗(https://developers.facebook.com/apps)? 还要确保“原生Android应用程序”有一个绿色复选标记,启用了“Facebook登录”并添加了密钥散列。

问题是我没有给出正确的密钥散列。我使用
keytool-exportcert-alias androiddebugkey-keystore.android/debug.keystore | openssl sha1-binary | openssl base64
生成了密钥散列,它运行正常

我已经检查了所有这些。在进一步检查时,我发现异常可能是由于给出了错误的密钥散列而导致的。我尝试添加使用keytool-exportcert-alias androiddebugkey-keystore~/.android/debug.keystore | openssl sha1-binary | openssl base64生成的密钥散列,但效果不佳