0

我在尝试第二次登录 Facebook 时遇到问题。用户第一次输入其凭据时,我开始在后台将一些图片上传到其 Facebook 帐户。

但是,在此期间,另一个用户可以再次点击 Facebook 按钮。我预计之前的请求仍在处理中,情况确实如此。但是,当第一个处理(即第一个用户的图片的上传)尚未完成时,我无法让第二个用户登录。

当前版本的情况是,当第二个用户点击我的 Facebook 按钮时,Facebook API 只是假设它引用了前一个用户(因为它仍在后台运行)。但是,我想用这个新用户开始另一个部分,而旧用户仍在后台运行。我怎样才能做到这一点?

这是我的简单代码(当用户在屏幕上点击我的 Facebook 按钮时,我调用以下方法):

 private void uploadPictures(View target) {

    mFacebook = new Facebook(getString(R.string.facebookappid));
    mAsyncRunner = new AsyncFacebookRunner(mFacebook);
    mFacebook.authorize(this, Settings.FACEBOOK_PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener());
}

PS:我也尝试过实例化多个 Facebook 和 AsyncFacebookRunner 对象,但它没有用(我得到了相同的行为,即即使对象不同,登录屏幕也不会第二次出现(如果之前的请求仍在处理中))!!!

非常感谢您!

4

1 回答 1

0

您可以使用新的 3.0 beta SDK 执行类似的操作。您可以在此处获取并查看 SwitchUserSample。

您将无法对不同的用户使用单点登录 (SSO)(他们需要通过 webview 对话框登录),但您将获得一个不同的 Session 对象,该对象可用于不同的用户。

于 2012-11-28T23:41:18.807 回答