Android Parse Facebook和Twitter登录问题

时间:2013-08-13 12:11:03

标签: android facebook twitter parse-platform

我遇到了一个非常奇怪的问题。我在我的Android应用程序中使用Parse进行Facebook和Twitter登录。我发现了一种无法解释的行为。当我在Facebook登录时 - 我从Twitter注销,反之亦然。我只用登录逻辑编写了一个示例,并重复了这种情况。这是我的样本:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    findViewById(R.id.facebook).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if (ParseFacebookUtils.getSession() == null || ParseFacebookUtils.getSession().isClosed()) {
                ParseFacebookUtils.logIn(MainActivity.this, new LogInCallback() {

                    @Override
                    public void done(ParseUser arg0, ParseException arg1) {
                        if (arg0 != null) {
                            Log.i("fsq", "facebook login ok");
                            if (ParseTwitterUtils.getTwitter().getAuthToken() == null) {
                                Log.i("fsq", "twitter logout after facebook login");
                            } else {
                                Log.i("fsq", "twitter ok after facebook login");
                            }
                        } else {
                            Log.i("fsq", "facebook login fail");
                        }
                    }
                });
            } else {
                Log.i("fsq", "facebook alreay logged in");
            }
        }
    });

    findViewById(R.id.twitter).setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            if (ParseTwitterUtils.getTwitter().getAuthToken() == null) {
                ParseTwitterUtils.logIn(MainActivity.this, new LogInCallback() {

                    @Override
                    public void done(ParseUser arg0, ParseException arg1) {
                        if (arg0 != null) {
                            Log.i("fsq", "twitter login ok");
                            if (ParseFacebookUtils.getSession() == null || ParseFacebookUtils.getSession().isClosed()) {
                                Log.i("fsq", "facebook logout after twitter login");
                            } else {
                                Log.i("fsq", "facebook ok after twitter login");
                            }
                        } else {
                            Log.i("fsq", "twitter login fail");
                        }
                    }
                });
            } else {
                Log.i("fsq", "twitter already logged in");
            }
        }
    });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        ParseFacebookUtils.finishAuthentication(requestCode, resultCode, data);
    }
}

我正在使用Parse版本1.3.1。有人面临这样的问题吗?或者我做错了什么?

0 个答案:

没有答案