导出后,我的应用程序中的Facebook登录不再有效

时间:2013-07-07 20:52:55

标签: android facebook export

我使用Facebook SDK 3.0开发包含Facebook登录的Android应用程序。

我使用这样的功能登录使用Facebook:

    public void login(final ProgressDialog dialog) {

    Session.openActiveSession(this, true, new Session.StatusCallback() {

        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            // TODO Auto-generated method stub

            if (session.isOpened()) {
                AppSettings.facebookAuthToken = session.getAccessToken();

                Request.executeMeRequestAsync(session,
                        new Request.GraphUserCallback() {

                            @Override
                            public void onCompleted(GraphUser user,
                                    Response response) {
                                // TODO Auto-generated method stub

                                if (user != null) {

                                    Log.e("gavau", "kazka");

                                    Calendar cal = Calendar.getInstance();
                                    TimeZone tz = cal.getTimeZone();

                                    RequestParams a = new RequestParams();
                                    // a.put("foo", "bar");
                                    a.put("tz",
                                            ""
                                                    + (tz.getRawOffset() + tz
                                                            .getDSTSavings())
                                                    / 1000);

                                    a.put("fb_id", user.getId());
                                    a.put("fb_authkey",
                                            AppSettings.facebookAuthToken);
                                    Log.e("siunciu", a.toString());

                                    AppSettings.facebookId = user.getId();

                                    NetworkClient.receiveJSON("register/",
                                            a,
                                            new AsyncHttpResponseHandler() {

                                                @Override
                                                public void onSuccess(
                                                        String a) {
                                                    Log.e("gavau", a);
                                                    if (a.equals("0")) {
                                                        Toast.makeText(
                                                                getApplicationContext(),
                                                                "Hi, everything's OK!",
                                                                0).show();

                                                        AppSettings.logged = true;

                                                        onLogin(dialog);
                                                    }

                                                    else
                                                        Toast.makeText(
                                                                getApplicationContext(),
                                                                "bėda " + a,
                                                                Toast.LENGTH_SHORT);
                                                }
                                            });

                                } else {
                                    Toast.makeText(getApplicationContext(),
                                            " User is equal to NULL!", 0)
                                            .show();
                                }

                            }
                        });
            } else {
                Toast.makeText(getApplicationContext(),
                        "Session is not opened", 1).show();

            }

        }
    });
}

在开发应用程序时一切正常,但我导出应用程序后Facebook登录不再有效(我得到了toast “会话未打开”)并且 Facebook登录对话框不是所示。 如果我使用Eclipse在手机上运行项目,那么一切都很好。然后我删除此应用程序的所有内容并使用.apk文件安装项目。当我启动应用程序时,我登录Facebook无效。

我将项目导出为Android应用程序。 起初我尝试使用debug.keystore作为现有的密钥库,但它没有用,然后尝试创建一个新的密钥库,这也不起作用。

我试图获得一个密钥哈希,但它没有帮助。

有谁可以解释这个问题的原因是什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

经过一段时间后,我终于通过生成一个新的密钥哈希解决了这个问题。它可能是我的第五个密钥哈希,并且至少有几个是使用与debug.keystore不同的密钥库生成的。但这次我使用了一个不同的方法,并形成了不同的密钥哈希。我使用的方法在那里描述:

Signed APK has different Key-Hash for Facebook