我正在为我的Android应用程序使用Facebook登录集成。我可以登录并转到下一个活动,但问题是,在使用Facebook登录按钮登录后,它会在点击“是”确认页面后显示facebook登出按钮一段时间并转到我的活动。请帮我解决这个问题。
答案 0 :(得分:0)
Facebook登录按钮,如果您成功登录..它会将措辞从“登录Facebook”更改为“退出”..如果您不想看到这一点,只需设置可用性或意图到期望的活动。如果您使用intent,请设置如下所示的标志
Intent next = new Intent(getApplicationContext(), MenuActivity.class);
next.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(next);
以下是facebook loginbutton
的示例loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), (object, response) -> {
// hide this facebook login button
// Intent to your desired activity
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,birthday,gender,first_name,last_name");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
Toast.makeText(getApplicationContext(), Message.LOGINCANCEL, Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException e) {
Toast.makeText(getApplicationContext(), Message.LOGINFAILED, Toast.LENGTH_SHORT).show();
}
});
如果您想将“退出”Facebook按钮更改为“登录Facebook”,请使用以下代码..只需创建BUtton并执行onClick()以触发下面的代码
if (AccessToken.getCurrentAccessToken() != null && com.facebook.Profile.getCurrentProfile() != null){
LoginManager.getInstance().logOut();
}