我正在使用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();
}
}
答案 0 :(得分:2)
我发现了问题所在。
我在该活动的清单文件中使用了android:noHistory="true"
。因此,每当打开facebook登录活动时,我的活动就会被自动销毁。
非常感谢。