Android - Facebook - Parse.com - 应用程序在登录期间随机关闭

时间:2013-11-30 00:48:25

标签: android facebook parse-platform facebook-sdk-3.0

我正在使用Parse.com和Facebook SDK构建Android解决方案。

我有一个登录活动的代码(注意我正在使用android注释)。有时,随机,我的应用程序在facebook登录活动返回后关闭。它没有在控制台上显示任何错误,只是关闭。登录活动是我的应用程序的主要活动。

有谁知道可能出现什么问题?

非常感谢。

代码是:

package com.thiagorp.pelada.Activities;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;

import com.parse.LogInCallback;
import com.parse.ParseException;
import com.parse.ParseFacebookUtils;
import com.parse.ParseUser;
import com.thiagorp.pelada.R;

import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.Fullscreen;

@EActivity(R.layout.login_activity)
@Fullscreen
public class LoginActivity extends Activity
{
    ProgressDialog mProgressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        ParseUser currentUser = ParseUser.getCurrentUser();
        if ((currentUser != null) && ParseFacebookUtils.isLinked(currentUser))
        {
            MainActivity_.intent(this).start();
        }
    }

    @Click(R.id.fbLoginButton)
    void fbLogin()
    {
        Log.d("Teste", "1");
        mProgressDialog = ProgressDialog.show(this, "", getResources().getString(R.string.logging_in_dialog), true);
        ParseFacebookUtils.logIn(this, new LogInCallback()
        {
            @Override
            public void done(ParseUser user, ParseException err)
            {
                Log.d("Teste", "2");
                if (mProgressDialog != null)
                    mProgressDialog.dismiss();

                if (user == null)
                {

                }
                else
                {
                    MainActivity_.intent(LoginActivity.this).start();
                }
            }
        });
    }

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

        Log.d("Teste", "3");
        if (mProgressDialog == null)
            mProgressDialog = ProgressDialog.show(this, "", getResources().getString(R.string.logging_in_dialog), true);

        ParseFacebookUtils.finishAuthentication(requestCode, resultCode, data);
    }

    @Override
    protected void onPause()
    {
        super.onPause();

        if (mProgressDialog != null)
            mProgressDialog.dismiss();
    }

    @Override
    protected void onResume()
    {
        super.onResume();

        if (mProgressDialog != null)
            mProgressDialog.show();
    }
}

1 个答案:

答案 0 :(得分:2)

我发现了问题所在。

我在该活动的清单文件中使用了android:noHistory="true"。因此,每当打开facebook登录活动时,我的活动就会被自动销毁。

非常感谢。