如果Facebook本机应用程序安装在设备中,Facebook登录不起作用?

时间:2013-12-31 05:46:42

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

我正在开发Android应用程序。安装facebook本机应用程序时,它不起作用,只显示两个弹出窗口。但如果没有安装它重定向到Facebook网站,工作正常。如何解决这个问题。任何帮助将不胜感激。我已经检查并添加了facebook app中的所有hashkey。但仍然没有工作。

    statusCallback = new SessionStatusCallback();
    Session session = Session.getActiveSession();
    this.isLogin = isLoginUser;
    session = null;
    if (session == null) {
        if (savedInstanceState != null) {
            session = Session.restoreSession(context, null,                        statusCallback,savedInstanceState);
        }
        if (session == null) {

            session = new Session.Builder(context).setApplicationId(
                    "688998947797106").build();

        }
        Session.setActiveSession(session);
        if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
            session.openForRead(new Session.OpenRequest(activity)
                    .setCallback(statusCallback)
                    .setLoginBehavior(
                            SessionLoginBehavior.SSO_WITH_FALLBACK)
                    .setPermissions(Arrays.asList("email")));
        }
    }
    if (!session.isOpened() && !session.isClosed()) {
        session.openForRead(new Session.OpenRequest(activity)
                .setCallback(statusCallback)
                .setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK)
                .setPermissions(Arrays.asList("email")));
    } else {
        Session.openActiveSession(activity, true, statusCallback);
    }

2 个答案:

答案 0 :(得分:2)

首先使用我在此链接Facebook Integration in Android Application给出的这些代码行检查您的哈希密钥,如果它尚未运行,请检查您的 Facebook Android应用程序是否已更新。如果应用程序未更新,请更新您的Facebook应用程序并尝试发布。

答案 1 :(得分:0)

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    facebook.authorizeCallback(requestCode, resultCode, data);
}

在您呼叫Facebook登录请求的活动中使用此代码。